JS中Number的精确表示范围及取值范围

JavaScript Number类型均采用64位浮点数,因此实际上是没有整数的概念的,涉及到小数的部分比较都要小心。

0.1+0.2===0.3
//false

遵从IEEE754标准,参见Wiki
64位浮点数采用:

  • 1位符号位sign
  • 11位阶码e
  • 52位有效数字b51....b0
    具体表达式表示为:
    Wiki

    因此,可以当整数的有效数字在绝对值小于2的53次方的整数都可以被精确表示,请注意:这并不代表双精度浮点数可表示的最大范围
    我们可以根据其表达式推算出:
    16进制下:
    7ff0 0000 0000 0000 = Infinity
    fff0 0000 0000 0000 = −Infinity
    根据查阅(直接输入Math.MAX_VALUE),Infinity值近似等于1.7976931348623157 × 10的308次方。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容