简单交换后 DWORD 转换为浮动?

Has*_*sen 4 c floating-point swap casting dword

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

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

下面是代码的核心:

    DWORD value = 0x713D2242; 
    value =(LOWORD(value)<<16)+ HIWORD (value); 
    float fvalue = (float)value;
Run Code Online (Sandbox Code Playgroud)

小智 5

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

float f = ...;
DOWRD dw;
dw = *((DWORD*)&F);
Run Code Online (Sandbox Code Playgroud)