在Douglas Crockford的书"How JavaScript Works"的章节"How Numbers Work"中提到,JavaScript中的数字由1个有符号位、11个指数位和53个有效位组成。这总共有65位,并且一些聪明的编码方式使得这65位可以存储在64位中,这被我们理解为64位浮点数。
更进一步,有效位以二进制小数形式存储在范围0.5 <= significand < 1.0内。
引用如下:
在这种形式下,最高有效位始终是1。由于该位始终是1,因此无需在数字中存储它。这将产生一个额外的位。
我不理解以下两点:
1. 最高有效位(符号位)是如何始终为1的? 2. 如果不存储符号位,如何区分正负数?
请帮助我理解这个概念或指导我可以找到帮助的方向。
更进一步,有效位以二进制小数形式存储在范围0.5 <= significand < 1.0内。
引用如下:
在这种形式下,最高有效位始终是1。由于该位始终是1,因此无需在数字中存储它。这将产生一个额外的位。
我不理解以下两点:
1. 最高有效位(符号位)是如何始终为1的? 2. 如果不存储符号位,如何区分正负数?
请帮助我理解这个概念或指导我可以找到帮助的方向。