Pab*_*blo 7 c# floating-point int
在C我将这样做以将数字的浮点表示转换为DWORD.从地址中获取值并将内容转换为DWORD.
dwordVal = *(DWORD*)&floatVal;
所以例如44.54321将成为0x42322C3F.
我怎么能这样做C#呢?
p.s*_*w.g 12
你可以使用这个BitConverter类:
uint value = BitConverter.ToUInt32(BitConverter.GetBytes(44.54321F), 0);
Console.WriteLine("{0:x}", value); // 42322c3f
您还可以使用unsafe上下文直接执行此操作:
float floatVal = 44.54321F;
uint value;
unsafe { 
    value = *((uint*)(&floatVal));
}
Console.WriteLine("{0:x}", value); // 42322c3f
但是,我强烈建议避免这种情况.请参阅您应该在C#中使用指针(不安全代码)吗?