跳到主要内容
版本:release

二元位运算表达式

语法

形式语法
1表达式 & 表达式
2表达式 | 表达式
3表达式 ^ 表达式

描述

二元位运算表达式用于对整数类型的值进行按位运算。

在用于执行位运算时,二元位运算表达式的两个子表达式的类型都应当是 int 类型,否则将 导致编译/运行时错误。

按位与(&

按位与运算符 & 对两个整数的每一位执行逻辑与操作,只有当两个对应的位都为1时,结果 位才为1,否则为0。

12 & 7 ==> 0b001100 & 0b000111 ==> 0b000100 ==> 4

按位或(|

按位或运算符 \| 对两个整数的每一位执行逻辑或操作,只要两个对应的位中有一个为1, 结果位就为1,否则为0。

12 \| 7 ==> 0b001100 \| 0b000111 ==> 0b001111 ==> 15

按位异或(^

按位异或运算符 ^ 对两个整数的每一位执行逻辑异或操作,当两个对应的位不同(一个为1, 另一个为0)时,结果位为1,否则为0。

12 ^ 7 ==> 0b001100 ^ 0b000111 ==> 0b001011 ==> 11

示例

int a = 12; // 二进制表示为 0b001100
int b = 7; // 二进制表示为 0b000111
int c = a & b; // c 的值为 4,二进制表示为 0b000100
int d = a | b; // d 的值为 15,二进制表示为 0b001111
int e = a ^ b; // e 的值为 11,二进制表示为 0b001011