当前位置: 代码迷 >> .NET Framework >> IEEE32浮点数转十进制小数解决方法
  详细解决方案

IEEE32浮点数转十进制小数解决方法

热度:48   发布时间:2016-05-02 00:06:20.0
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……


自己写一个转换的函数吧。
  相关解决方案