我的问题很简单:如何在 C++ 中对 int
执行按位与操作?
#include <iostream>
int main() {
unsigned int foo = 3;
unsigned int bar = 6;
std::cout << foo & bar;
return 0;
}
它不输出 2,而是打印 3。
当我进行任何其他按位运算时,它也只打印第一个变量。
如何让它进行操作?
最佳答案
您需要在 foo & bar
两边添加括号因为&
运算符的优先级低于移位 <<
运营商。
std::cout << (foo & bar);
作为旁注,令我惊讶的是代码编译时没有括号。奖励:关于运算符优先级规则的文档 cppreference
关于c++ - 在 C++ 中对 int 使用按位与,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51629501/