From 0692e8727e1538e1536282e221341826de41e202 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=9F=E7=A5=A5=5F=E6=88=90=E9=83=BD?= <1334196450@qq.com> Date: Fri, 19 Apr 2024 15:44:11 +0800 Subject: [PATCH] Update number.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit IEEE 754 中,双精度浮点数精度的计算我个人认为是这样的 ,因为最大的尾数是1.{52个1}(默认隐藏一个固定的1), 指数能让小数点往前移动52位,所以最大整数是1....一共53个1,然后就是2∧52+2∧51+…+2∧1+2∧0 一个等比数列求和的计算~结果为2∧53-1,所以精度范围是 -(253 – 1) 和253 – 1 之间的整数 --- docs/types/number.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/types/number.md b/docs/types/number.md index b61dc6a..e5eb64c 100644 --- a/docs/types/number.md +++ b/docs/types/number.md @@ -43,7 +43,7 @@ JavaScript 内部,所有数字都是以64位浮点数形式储存,即使整 上面公式是正常情况下(指数部分在0到2047之间),一个数在 JavaScript 内部实际的表示形式。 -精度最多只能到53个二进制位,这意味着,绝对值小于2的53次方的整数,即-253到253,都可以精确表示。 +精度最多只能到53个二进制位,这意味着,绝对值小于2的53次方的整数,即-253 - 1到253 - 1,都可以精确表示。 ```javascript Math.pow(2, 53)