# 散装知识点

# 1. 问:0.1 + 0.2 === 0.3 嘛?为什么?

在两数相加时,十进制数会先转换成二进制,不是所有的十进制分数都能够非常精确的表示,0.1(十进制) 和 0.2(十进制)没有相应的二进制数与其对应,他们 转换成二进制的时候造成精度丢失,因此最终的运算结果也会有精度丢失。

所以总结:精度丢失可能出现在进制转换和对阶运算中

参考链接

# 2. 问:JS 整数是怎么表示的?

  • 通过 Number 类型来表示,遵循 IEEE754 标准,通过 64 位来表示一个数字,(1 + 11 + 52),最大安全数字是 Math.pow(2, 53) - 1,对于 16 位十进制。(符号位 + 指数位 + 小数部分有效位)

参考链接

  • https://segmentfault.com/a/1190000017090272

在线客服