我有一个莫名其妙的问题。这是我的代码:
int result;
result = 0 * 2 ^ 1;
std::cout << result << std::endl;
此计算的结果为1。但是为什么呢?实际上应该是0,不是吗?我已经使用数学库的pow函数进行过尝试,但结果也为1。
感谢您提供所有答案!
在C ++和许多其他计算机编程语言中,^
表示XOR not的权力。因此,它可能没有数学所期望的优先。
使用std::pow
作为指数。
但是,由于std::pow
是一个函数调用,它也可能不会按照您的意思与数学表达式进行交互。
最终,应该使用括号使意图清楚,并记住零乘以零就是零。