從我在網上能找到的所有內容來看,JavaScript 據稱使用 IEEE 754 doubles 作為其數字,但我發現數字可以在 C doubles 中工作,但不能在 JavaScript 中工作。例如,#include <stdio.h>int main(){ double x = 131621703842267136.; printf("%lf\n", x);}打印131621703842267136.000000注意:在問題的早期版本中,我為 C 復制了錯誤的數字,但在 JavaScript 中console.log(131621703842267136)輸出131621703842267140。從我在網上閱讀的所有內容來看,C 雙精度數和 JavaScript 數字都是 64 位浮點數,所以我很困惑為什么它們會輸出不同的結果。有任何想法嗎?
JavaScript 似乎在做浮點錯誤(與 C 相比)
冉冉說
2021-06-02 07:10:30