为什么JavaScript使用基数为10的浮点数(根据w3schools)?

Ste*_*ose 5 javascript

在W3Schools上读过这篇文章:

JavaScript中的所有数字都存储为64位(8字节)基数10,即浮点数.

这听起来很奇怪.现在,它要么错了要么应该有充分的理由不使用像IEEE标准那样的基础2.

我试图找到一个真正的JavaScript定义,但我找不到任何.无论是在V8还是WebKit文档中,我可以在维基百科上找到的两个JavaScript实现对我来说是最熟悉的,我可以找到它们如何存储JavaScript Number类型.

那么,JavaScript使用基数10吗?如果是这样,为什么?我想出的唯一原因是,当你想要能够准确存储整数和浮点数时,使用base 10可能有一个优势,但我不知道如何使用base 10将有一个优势我.

Guf*_*ffa 7

这不是万维网联盟(W3C),这是一个w3schools,一个对任何网络标准都没有任何权威的网站.

Javascript中的数字是符合IEEE标准的双精度浮点数.

该网站获得了关于每个数字的部分是一个64位浮点数.基数10与数值表示无关,这可能源于浮点数总是使用基数10进行解析和格式化的事实.


ssi*_*ice 5

根据ECMA-262标准(ECMAScript 5.1)第4.3.19节,JavaScript中的数字是:

对应于双精度64位二进制格式IEEE 754值的原始值.

因此,使用基数10浮点数的任何实现都不符合ECMA-262.