我的问题很简单:如何在C ++中对int
执行按位与运算?
#include <iostream>
int main() {
unsigned int foo = 3;
unsigned int bar = 6;
std::cout << foo & bar;
return 0;
}
代替输出2,它打印3。
当我执行任何其他按位运算时,它也只会打印第一个变量。
我如何进行操作?
答案 0 :(得分:7)
您需要在foo & bar
周围加上括号,因为&
运算符的优先级比shift <<
运算符低。
std::cout << (foo & bar);
作为旁注,令我惊讶的是,代码编译时没有括号。奖励:cppreference
上的运算符优先级规则文档