<< (1000 < pow(10,3)) << endl;给 1

cout << (1000 < pow(10,3)) << endl; gives 1

本文关键字:lt endl 1000 pow      更新时间:2023-10-16

我只是想知道为什么

cout << (1000 < 1000) << endl;

0,而

cout << (1000 < pow(10, 3)) << endl;

1.

>std::pow不适用于整型。如果你提供整数,它会将它们投射到double(请参阅链接页面上的第 7 个重载)。
然后调用的结果是一个double,它恰好略有偏差(因为浮点算术是有损的),足以将严格较大的文本值与直接转换为double的文字值进行比较1000
看看每个计算机科学家都应该知道的关于浮点运算的知识。