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

IEEE32浮点数转十进制小数解决思路

热度:52   发布时间:2016-05-02 00:24:31.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……
  相关解决方案