Why is (10^(-10)) == -4

Why is (10^(-10)) == -4

本文关键字:is Why      更新时间:2023-10-16

我正试图计算一些东西,并想检查两个数字之间的差异是否小于10^-10。它不工作,所以我用std::cout << (double)(10^-10),它打印-4。这是正确的行为吗?我怎样才能改变它,使它实际上导致0.0000000001 ?

^在c语言中是独占的。对于常量,您可能希望使用科学符号1e-10。对于不同的指数,std::pow是,正如其他答案所说,解决方案。

^操作符为位异操作符;它不做幂运算。您可以使用<cmath>中的pow函数。

^ is XOR。

使用std::pow表示指数:

std::cout << std::pow(10.0, -10);