【发布时间】:2014-02-15 17:42:52
【问题描述】:
在C 中,我将这样做以将数字的浮点表示形式转换为 DWORD。从地址中获取值并将内容转换为 DWORD。
dwordVal = *(DWORD*)&floatVal;
例如,44.54321 将变为 0x42322C3F。
我怎样才能在C# 中做同样的事情?
【问题讨论】:
-
实际上
*(DWORD*)&floatVal在 C 中是错误的做法,因为它违反了 C 编译器用于优化的严格别名规则。正确的方法涉及联合(参见 C99tc3 脚注 82)或memcpy()。
标签: c# floating-point int