number

JS 中的数字

在 JavaScript 中,所有的数字都是以 64 位双精度浮点数格式存储的,遵循 IEEE 754 标准。这意味着每个数字占用 64 位(或 8 字节)的内存空间。这 64 位被分为三个部分:

符号位(Sign bit):1 位,用于表示数字的正负。0 表示正数,1 表示负数。 指数位(Exponent bits):11 位,用于表示数值的范围或指数部分。 尾数位(Mantissa or Fraction bits):52 位,用于表示数值的精度或小数部分。 这种 64 位的浮点数表示允许 JavaScript 存储非常大或非常小的数值,并且具有一定的精度。然而,由于浮点数的表示方式,并不是所有的小数都能够被精确地表示。这可能导致在进行数学计算时出现精度损失和舍入误差。

需要注意的是,尽管 JavaScript 的 Number 类型内部以 64 位浮点数存储,但在进行位运算(如使用<<、>>、>>>等位运算符)时,JavaScript 会将数字视为 32 位整数来处理。这是因为位运算符是在 32 位整数上定义的,并且它们的行为与 64 位浮点数的内部表示无关。在进行位运算时,JavaScript 会自动将 64 位浮点数转换为 32 位整数,执行位运算后再将结果转换回 64 位浮点数。

Number.prototype.toString()

该数字值的字符串