日期:2014-05-20  浏览次数:21247 次

IEEE32浮点数转十进制小数
比如:0x48A969C0
变为32位二进制数:01001000  10101001  01101001  11000000
其中最高位为0,代表是正数
接下来的八位:10010001变成十进制是145,根据IEEE规范应减去127得18,这是小数点右移的位数;
剩下的23位是纯二进制小数即:0.0101001  01101001  11000000
加1后得1.0101001  01101001  11000000
小数点右移18位后得10101001  01101001  110.00000

最后变为十进制得346958


有没有这样的函数能直接转换?
------解决方案--------------------
引用:
比如:0x48A969C0
变为32位二进制数:01001000  10101001  01101001  11000000
其中最高位为0,代表是正数
接下来的八位:10010001变成十进制是145,根据IEEE规范应减去127得18,这是小数点右移的位数;
剩下的23位是纯二进制小数即:0.0101001  01101001  11000000
加1后得1.0101001  011……


自己写一个转换的函数吧。