位运算是一种直接在二进制位上进行操作的方式。位运算符包括按位与 (&
)、按位或 (|
)、按位异或 (^
)、按位非 (~
)、左移 (<<
)、右移 (>>
) 和无符号右移 (>>>
)。这些操作符用于操作整型数据类型,如 int
和 long
。
一、按位与 (&
)
按位与操作符对两个数字的每个二进制位执行逻辑与操作。只有当两个位都为 1 时,结果才为 1,否则为 0。
int a = 5; // 二进制:0101
int b = 3; // 二进制:0011
int result = a & b; // 结果为 1(0001)
二、 按位或 (|
)
按位或操作符对两个数字的每个二进制位执行逻辑或操作。只要有一个位为 1,结果就为 1,否则为 0。
int a = 5; // 二进制:0101
int b = 3; // 二进制:0011
int result = a | b; // 结果为 7(0111)
三、按位异或 (^
)
按位异或操作符对两个数字的每个二进制位执行逻辑异或操作。当两个位不同(一个为 0,一个为 1)时,结果为 1,否则为 0。