Re: [問題] hex to float疑問

作者: descent (「雄辯是銀,沉默是金」)   2016-10-16 00:25:14
我用了 gdb 看,
f = 0xb6 0xf3 0x9d 0xbf
f2 = 0xf4 0x9d 0x3f 0x4f
這兩個根本就不是同一個數字。
floate f2=-1.234 就好了, 為什麼要寫成 0xBF9DF3B6 再用 type cast?
※ 引述《Hao0228 (Hao0228)》之銘言:
: 各位版大好...想請教一個問題
: 假設我想指定一個hex給一個float變數
: 比如說...0xBF9DF3B6 在float內是 -1.234
: 寫了一段測試的程式
: uint32_t i = 0xBF9DF3B6;
: float f = *(float*)&i;
: cout << f << endl;
: float f2 = 0xBF9DF3B6;
: cout << f2 << endl;
: 執行結果
: f : -1.234
: f2 : 3.2148e+09
: 一直搞不太懂為什麼非得用float *轉型呢?
: 還請各位版大能為小弟解惑...謝謝!!
作者: pttworld (批踢踢世界)   2016-10-16 00:33:00
case2是IEEE754,可是問題是case1。

Links booklink

Contact Us: admin [ a t ] ucptt.com