2011-08-04 3 views
3

フロートの例を交換したい:14 D7 65 01 ----> 65 01 14 D7シンプルなスワップ後にDWORDキャストをfloatするには?

スワップは簡単です。私は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

私はしかし、私は浮動小数点数をキャスト帳から解決策を見つけた理由を知りscroll down toパソコンへ転送ここ

は、コードの中核でありますDWORD番号:

float f = ...; 
DOWRD dw; 
dw = *((DWORD*)&F); 
関連する問題