我想交换我的浮动例子:14 D7 65 01 ----> 65 01 14 D7
交换很容易。我在DWORD上工作,我进行了交换,然后将DWORD变量转换为float。我遇到的问题是浮点值是错误的。 我确信DWORD交换没问题,做得好。我认为演员阵容很糟糕。 任何帮助都非常欢迎!提前谢谢!
以下是代码的核心:
DWORD value = 0x713D2242;
value =(LOWORD(value)<<16)+ HIWORD (value);
float fvalue = (float)value;
答案 0 :(得分:4)
使用联合,例如:
union
{
DWORD i;
float f;
} u;
DWORD value = 0x713D2242;
u.i = (LOWORD(value) << 16) + HIWORD(value);
float fvalue = u.f;
答案 1 :(得分:4)
我不知道为什么,但是我从一本书中找到了一个解决方案,它将一个浮点数转换为DWORD数字:
float f = ...;
DOWRD dw;
dw = *((DWORD*)&F);