我知道这是一个奇怪的问题,但是 JavaScript 是否有能力使用双精度而不是单浮点数?(64 位浮点数与 32 位。)
JavaScript 是否具有双浮点数精度?
IT技术
javascript
floating-point
numerical
double-precision
2021-03-04 10:39:39
3个回答
根据 ECMA-262 规范(ECMAScript 是 Javascript 的规范),第 8.5 节:
Number 类型正好有 18437736874454810627(即 2 64 −2 53 +3)个值,表示 IEEE 二进制浮点运算标准中指定的双精度 64 位格式 IEEE 754 值
来源:http : //www.ecma-international.org/publications/files/ecma-st/ECMA-262.pdf (PDF)
JavaScript 中的所有数字都是 64 位浮点数。
参考:
http://www.hunlock.com/blogs/The_Complete_Javascript_Number_Reference
在javascript类型number中,它是支持IEEE 754标准的64位浮点数,就像C中的double一样。您可以通过下面的命令创建32位类型化数组,并通过绑定相应的缓冲区来控制每个组件中的每个字节。
let a = new Float32Array(length);
let b = new Float64Array(length);
但请注意,它在 IE9 中不受支持,这里是浏览器兼容性表。
如果你想要像long double这样的扩展精度,你可以使用double.js或 decimal.js库。
其它你可能感兴趣的问题