加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

16进制浮点数与十进制的转化

发布时间:2020-12-14 04:12:39 所属栏目:大数据 来源:网络整理
导读:对于大小为32-bit的浮点数(32-bit为单精度,64-bit浮点数为双精度,80-bit为扩展精度浮点数),? 1、其第31 bit为符号位,为0则表示正数,反之为复数,其读数值用s表示;? 2、第30~23 bit为幂数,其读数值用e表示;? 3、第22~0 bit共23 bit作为系数,视为
对于大小为32-bit的浮点数(32-bit为单精度,64-bit浮点数为双精度,80-bit为扩展精度浮点数),?
1、其第31 bit为符号位,为0则表示正数,反之为复数,其读数值用s表示;? 2、第30~23 bit为幂数,其读数值用e表示;? 3、第22~0 bit共23 bit作为系数,视为二进制纯小数,假定该小数的十进制值为x;? 则按照规定,该浮点数的值用十进制表示为:? = (-1)^s * (1 + x) * 2^(e - 127)? 对于49E48E68来说,? 1、其第31 bit为0,即s = 0? 2、第30~23 bit依次为100 1001 1,读成十进制就是147,即e = 147。? 3、第22~0 bit依次为110 0100 1000 1110 0110 1000,也就是二进制的纯小数0.110 0100 1000 1110 0110 1000,其十进制形式为0.78559589385986328125,即x = 0.78559589385986328125。? 这样,该浮点数的十进制表示? = (-1)^s * (1 + x) * 2^(e - 127)? = (-1)^0 * (1+ 0.78559589385986328125) * 2^(147-127)? = 1872333?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读