4

我想交换我的浮动示例:14 D7 65 01 ----> 65 01 14 D7

交换很容易做到。我在 DWORD 上工作,我进行了交换,然后我将我的 DWORD 变量转换为浮动。我遇到的问题是浮点值是错误的。我确信 DWORD 交换是好的并且做得很好。我认为演员阵容做得很糟糕。任何帮助都非常受欢迎!先感谢您!

这是代码的核心:

    DWORD value = 0x713D2242; 
    value =(LOWORD(value)<<16)+ HIWORD (value); 
    float fvalue = (float)value;
4

2 回答 2

4

使用联合,例如:

union
{
    DWORD i;
    float f;
} u;

DWORD value = 0x713D2242; 
u.i = (LOWORD(value) << 16) + HIWORD(value); 
float fvalue = u.f;
于 2011-08-04T17:15:53.987 回答
4

我不知道为什么,但我从一本书中找到了一个解决方案,它将浮点数转换为 DWORD 数:

float f = ...;
DOWRD dw;
dw = *((DWORD*)&F);
于 2012-03-13T09:00:32.933 回答