簡體   English   中英

JavaScript 是否具有雙浮點數精度?

[英]Does JavaScript have double floating point number precision?

我知道這是一個奇怪的問題,但是 JavaScript 是否有能力使用雙精度而不是單浮點數? (64 位浮點數與 32 位。)

根據 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類型number中,它是支持IEEE 754標准的64位浮點數,就像C中的double一樣。您可以通過下面的命令創建32位類型化數組,並通過綁定相應的緩沖區來控制每個組件中的每個字節。

let a = new Float32Array(length);
let b = new Float64Array(length);

但請注意,它在 IE9 中不受支持,這里是瀏覽器兼容性表。

如果你想要像long double這樣的擴展精度,你可以使用double.jsdecimal.js庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM