Java中的位运算符允许您直接操作整数类型的二进制表示。以下是一些常见的位运算符及其作用:
- 按位与(&)
- 对应位上,如果两个数都是1,则结果为1,否则为0。
- 按位或(|)
- 对应位上,如果两个数有一个为1,则结果为1,否则为0。
- 按位异或(^)
- 对应位上,如果两个数不相同,则结果为1,否则为0。
- 按位取反(~)
- 对每一位,将0变为1,将1变为0。
- 带符号右移(>>)
- 低位溢出(舍弃),符号位不变,用符号位补溢出的高位。
- 无符号右移(>>>)
- 低位溢出(舍弃),高位补0。
- 左移(<<)
- 将操作数的二进制表示向左移动指定的位数,高位补0。
- 带符号右移赋值(>>=)
- 将操作数右移指定的位数,并将结果赋值给操作数本身。
- 无符号右移赋值(>>>=)
- 将操作数无符号右移指定的位数,并将结果赋值给操作数本身。
- 按位与赋值(&=)
- 将操作数与另一个操作数的按位与结果赋值给操作数本身。
- 按位或赋值(|=)
- 将操作数与另一个操作数的按位或结果赋值给操作数本身。
- 按位异或赋值(^=)
- 将操作数与另一个操作数的按位异或结果赋值给操作数本身。
位运算在编程中常用于优化性能,例如在处理位掩码、快速算术运算等场景。