猿问

JavaScript 似乎在做浮点错误(与 C 相比)

从我在网上能找到的所有内容来看,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 位浮点数,所以我很困惑为什么它们会输出不同的结果。有任何想法吗?


冉冉说
浏览 107回答 1
1回答
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答