C++解码二进制float类型遇到困难
发表于 : 2016-12-16 10:51
某二进制文件里有一个4字节空间存储的是float类型的数据。在16进制编辑器里查看数据是 E7 45 4B 4E
在ideone.com在线php网站上用代码:
$h = "\xE7\x45\x4B\x4E";
print_r(unpack('f', $h));
可以得到正确的数值 852588992。
可是在C++里:
float b = 0xE7454B4E;
std::cout << b ;
得到的却是3.88008e+09 (与正确的数值 852588992怎么相差那么多)?
我用的是C++,我错在哪里了?
在ideone.com在线php网站上用代码:
$h = "\xE7\x45\x4B\x4E";
print_r(unpack('f', $h));
可以得到正确的数值 852588992。
可是在C++里:
float b = 0xE7454B4E;
std::cout << b ;
得到的却是3.88008e+09 (与正确的数值 852588992怎么相差那么多)?
我用的是C++,我错在哪里了?