public class BitwiseOperations {
public static void main(String[] args) {
// 位与 (&)
int a = 5; // 二进制: 0101
int b = 3; // 二进制: 0011
int andResult = a & b; // 结果: 0001 (十进制 1)
System.out.println("a & b = " + andResult);
// 位或 (|)
int orResult = a | b; // 结果: 0111 (十进制 7)
System.out.println("a | b = " + orResult);
// 位异或 (^)
int xorResult = a ^ b; // 结果: 0110 (十进制 6)
System.out.println("a ^ b = " + xorResult);
// 位取反 (~)
int notA = ~a; // 结果: 取决于整数的位数,对于32位整数,结果为 -6
System.out.println("~a = " + notA);
// 左移 (<<)
int leftShift = a << 1; // 结果: 1010 (十进制 10)
System.out.println("a << 1 = " + leftShift);
// 右移 (>>)
int rightShift = a >> 1; // 结果: 0010 (十进制 2)
System.out.println("a >> 1 = " + rightShift);
// 无符号右移 (>>>)
int unsignedRightShift = a >>> 1; // 结果: 0010 (十进制 2),对于正数和有符号右移相同
System.out.println("a >>> 1 = " + unsignedRightShift);
}
}
&):只有当两个相应的二进制位都为1时,结果才为1。例如 0101 & 0011 的结果是 0001。|):只要有一个相应的二进制位为1,结果就为1。例如 0101 | 0011 的结果是 0111。^):当两个相应的二进制位不同时,结果为1;相同时,结果为0。例如 0101 ^ 0011 的结果是 0110。~):将每个二进制位取反,即0变为1,1变为0。例如 ~0101 的结果取决于整数的位数(对于32位整数,结果为 -6)。<<):将所有二进制位向左移动指定的位数,右边补0。例如 0101 << 1 的结果是 1010。>>):将所有二进制位向右移动指定的位数,左边补符号位(对于正数补0,负数补1)。例如 0101 >> 1 的结果是 0010。>>>):将所有二进制位向右移动指定的位数,左边始终补0。例如 0101 >>> 1 的结果是 0010。上一篇:java 遍历list
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站