在C ++中的int上使用按位与

时间:2018-08-01 09:13:21

标签: c++ bitwise-operators bitwise-and

我的问题很简单:如何在C ++中对int执行按位与运算?

#include <iostream>

int main() {
    unsigned int foo = 3;
    unsigned int bar = 6;
    std::cout << foo & bar;
    return 0;
}

代替输出2,它打印3。

当我执行任何其他按位运算时,它也只会打印第一个变量。

我如何进行操作?

1 个答案:

答案 0 :(得分:7)

您需要在foo & bar周围加上括号,因为&运算符的优先级比shift <<运算符低。

std::cout << (foo & bar);

作为旁注,令我惊讶的是,代码编译时没有括号。奖励:cppreference

上的运算符优先级规则文档