作者descent (「雄辩是银,沉默是金」)
看板C_and_CPP
标题Re: [问题] hex to float疑问
时间Sun Oct 16 00:25:14 2016
我用了 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 *转型呢?
: 还请各位版大能为小弟解惑...谢谢!!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 180.217.251.79
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1476548724.A.648.html
1F:→ pttworld: case2是IEEE754,可是问题是case1。 10/16 00:33