Vb.net 将整数强制转换为单个保留位表示形式
在VB.NET中,有没有一种快速的方法可以在保留底层位结构的同时将32位int转换为32位浮点?BitConverter可以做到这一点,但我想直接强制转换它,而不涉及字节数组。该死,我怎么可能忘记C样式的联合呢Vb.net 将整数强制转换为单个保留位表示形式,vb.net,casting,Vb.net,Casting,在VB.NET中,有没有一种快速的方法可以在保留底层位结构的同时将32位int转换为32位浮点?BitConverter可以做到这一点,但我想直接强制转换它,而不涉及字节数组。该死,我怎么可能忘记C样式的联合呢 <Runtime.InteropServices.StructLayout(Runtime.InteropServices.LayoutKind.Explicit)> _ Public Structure IntFloatUnion <Runtime.Inter
<Runtime.InteropServices.StructLayout(Runtime.InteropServices.LayoutKind.Explicit)> _
Public Structure IntFloatUnion
<Runtime.InteropServices.FieldOffset(0)> Public i As Integer
<Runtime.InteropServices.FieldOffset(0)> Public f As Single
End Structure
Sub Main()
Dim u As IntFloatUnion
u.i = 42
Console.WriteLine(u.f)
Console.ReadLine()
End Sub
这可以编译成一个单独的dll,并从VB项目中引用。你所说的“保留底层位结构”是什么意思?你为什么需要它?我正在使用它来改善瓶颈中的性能,我正在为一些函数寻找绝对最快的位攻击。