双精度64位为什么在末尾附加零?

时间:2018-11-23 14:56:19

标签: javascript android

我正在阅读有关双精度64位javascript的信息,在示例中,我看到了在尾数末尾而不是末尾添加零。示例中没有人对此进行解释。

0 00000000010 10000000000000000000000000000000000000000
 why not 
0 00000000010 00000000000000000000000000000000000000001

谢谢你

1 个答案:

答案 0 :(得分:2)

此约定源于我们编写二进制数字的方式。 例如,一个字节具有位位置:

128 64 32 16 8 4 2 1

如果我们将其扩展为包括无符号固定精度16位的小数点:

128 64 32 16 8 4 2 1 . 1/2 1/4 1/8 1/16 1/32 1/64 1/128

请记住,数字是用许多表示形式的科学计数法。 10可能等于10 * 10 ^ 0或1 * 10 ^ 1或.1 * 10 ^ 2 ... 为了确保数字以一致的方式存储,已确定将选择指数,使尾数为1到2之间的数字(不包括2)。

要以二进制形式表示Matessa,格式为:

1 1/2 1/4 1/8 1/16 1/32 1/64 1/128 ...

此格式符合如上所述的传统二进制方案。