为什么(10 ^( - 10))== -4

时间:2011-10-21 16:24:21

标签: c++

我正在尝试计算某些内容,并想检查两个数字之间的差异是否小于10^-10。它不起作用,因此我使用std::cout << (double)(10^-10)并打印-4。这是正确的行为吗?我怎么能改变它以便实际导致0.0000000001

3 个答案:

答案 0 :(得分:20)

^是独占的或在C中。对于常数,您可能想要使用scientific notation 1e-10。对于不同的指数,std::pow正如其他答案所说,是解决方案。

答案 1 :(得分:5)

^运算符是按位xor运算符;它没有取幂。您可以使用pow中的<cmath>功能代替。

答案 2 :(得分:3)

^是XOR。

std::pow用于指数:

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