Javascript中的所有数字都是64位(8字节)的 float 但是为什么JavaScript的有效范围是5e-324(负数)到1.7976931348623157e+308(正数)?
最佳答案
因为这就是 defined by the IEEE 754 spec .
0x 0000 0000 0000 0001 = 2⁻¹⁰²²⁻⁵² ≈ 4.9406564584124654 x 10⁻³²⁴ (Min subnormal positive double)
0x 000f ffff ffff ffff = 2⁻¹⁰²² - 2⁻¹⁰²²⁻⁵² ≈ 2.2250738585072009 x 10⁻³⁰⁸ (Max subnormal positive double)
0x 0010 0000 0000 0000 = 2⁻¹⁰²² ≈ 2.2250738585072014 x 10⁻³⁰⁸ (Min normal positive double)
0x 7fef ffff ffff ffff = (1 + (1 - 2⁻⁵²)) x 2¹⁰²³ ≈ 1.7976931348623157 x 10³⁰⁸ (Max Double)
关于javascript - Javascript 中的数字和有效范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10385945/