美文网首页
2020-02-17 浮点数相关知识

2020-02-17 浮点数相关知识

作者: FConfidence | 来源:发表于2020-02-17 19:35 被阅读0次

    浮点数相关知识

    IEEE754

    1. JavaScript中的浮点数采用IEEE-754格式的规定。更具体的说是一个双精度格式,这意味着每个浮点数占64位。
    2. 标识位1位
      • JavaScript中的某些东西如+0 和 -0,标志位说明一切——JavaScript中的所有数字都有符号位。
    3. 指数: 11位–这允许指数最大到1024
      • Infinity和NaN也被编码进浮点数——2047作为一个特殊的指数。
    4. 尾数: 剩下的52位代表的尾数。
      • 如果尾数是0,它是一个正无穷或负无限。
      • 如果不是,那么它是NaN。

    舍入误差

    1. 浮点规范指定ECMAScript最多使用52个尾数,所以舍入误差变得很小——规范的具体细节规避了大部分的舍入误差。

    2. 在JavaScript处理浮点数

      • 建议是使用库,像sinfuljs或mathjs。
      • 另一个被多次重复的建议是使用内置的toPrecision()和toFixed()方法。使用他们时最容易犯得逻辑错误是忘记这些方法的返回值字符串。
      function add_Error(x, y) {
          return x.toPrecision() + y.toPrecision()
      }
      /*
      > foo(0.1, 0.2)
      "0.10.2"
      **/
      

      设计内置方法toPrecision()和toFixed()的目的仅是用于显示。谨慎使用!

    相关文章

      网友评论

          本文标题:2020-02-17 浮点数相关知识

          本文链接:https://www.haomeiwen.com/subject/bosifhtx.html