2011-08-04 78 views
3

我想交換我的浮動例子:14 D7 65 01 ----> 65 01 14 D7簡單交換後DWORD轉換浮動?

交換很容易。我工作在一個DWORD,我做了我的交換,然後我把我的DWORD變量浮動。我遇到的問題是浮點值是錯誤的。 我相信,DWORD交換是可以的,並做得很好。我認爲演員陣容糟糕。 任何幫助都超過歡迎!先謝謝你!

這裏是代碼的核心部分:

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

回答

3

使用工會,如:

union 
{ 
    DWORD i; 
    float f; 
} u; 

DWORD value = 0x713D2242; 
u.i = (LOWORD(value) << 16) + HIWORD(value); 
float fvalue = u.f; 
+0

它的工作原理!謝謝! – Hassen

3

我DONOT知道爲什麼,但我發現從一本書,鑄造浮點數來解決一個DWORD號碼:

float f = ...; 
DOWRD dw; 
dw = *((DWORD*)&F);