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