我正在编写一个程序来计算 2 的负幂。我使用了以下两个代码片段:
cout.precision(3);
cout << scientific << pow(2.0, p) << endl;
和
ans = pow(2.0, p);
printf("%.3e\n", ans);
对于p = -8271
,给出了正确的答案 (1.517e-2490),但对于(6.929e-310) cout
,我得到了完全不同的答案。printf
为什么会出现这种差异?
我在 Ubuntu 上使用代码块。