Java有6种基本位运算符,分为位逻辑运算(&, |, ^, ~)和位移运算(, >>>)。&按位与用于清零或判断标志位,|按位或用于设置标志位,^按位异或用于翻转位或交换数值,~按位取反逐位取反结果为补码形式。有符号右移高位补符号位,等价于除以2的幂,>>>无符号右移高位补0,常用于底层操作。实际开发中&、|、^、常用,>>>多见于网络或字节处理。
Java 有 6 种基本位运算符,分为两类:位逻辑运算(4 种)和位移运算(2 种)。
对两个操作数的每一位进行逻辑运算,结果仍是整数。
flag
s & MASK != 0)。flags | NEW_FLAG)。x ^ MASK),或交换两个整数(无需临时变量)。~5 得 -6。将操作数的二进制位整体向左或向右移动指定位置,移出的位丢弃,空位补 0 或符号位。
5 是 10。-8 >> 1 是 -4。注意:>> 和 >>> 都是右移,但语义不同;Java 没有无符号左移(因为左移补 0 对所有整数都一样)。
基本上就这些。实际开发中常用 &、|、^、>,>>> 在底层或网络编程中更常见。