• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

浮点数 ieee 754

php 搞代码 3年前 (2022-01-23) 14次浏览 已收录 0个评论

十进制小数转化为计算机存储过程

以9.625单精度(32位)为例

  1. 十进制数转二进制表示
    9.625 = 1001.101 = 1 × 2 3 + 0 × 2!本文来源gaodai#ma#com搞*!代#%^码网5

    搞gaodaima代码

    2 + 0 × 21 + 1 × 20 + 1 × 2-1 + 0 × 2-2 + 1 × 2-3

  2. 二进制数规范化
    ieee 754规定,二进制表示必须按照格式±d.dd…d × βe , (0 ≤ d i < β)
    即1001.101 = 1.001 101 * 23

  3. 存储到计算机
    单精度总长32位
    1-23 表述尾数:因为规范化之后的二进制数小数点左侧仅仅有一个1,所以可以省略,这样就用23位表示了24位。即尾数为1.001 101 中的001 101
    24-30 表示指数:即1.001 101 * 23 中的3
    31 表示符号:1表示负数 ,0表示正数
    另外, 指数位有8位,可以表示0-255之间的值。但是指数有可能为负数(比如0.625 = 0.101(二进制) = 1.01 * 2-1)。所以,ieee 754规定指数为增加偏移码:把规格化后的指数值+127。这样指数的范围变为了-127 – 128。那么上面的指数变为130

    按照如上规则,二进制后的小数在计算机存储为:[0] [1000 0010] [0011 0100 0000 0000 0000 000]

精度丢失

  1. 可见规范化之后的二进制数尾数部分可能远远长于23位, 那么计算机存储的时候就会丢失后面的部分。典型的是0.58。

版权声明:本文为博主原创文章,未经博主允许不得转载。

以上就介绍了浮点数 ieee 754,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:浮点数 ieee 754

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址