按位与运算符(&)用于对两个操作数的所有二进制位执行逻辑AND操作。如果两个操作数的对应二进制位都为1,则结果为1;否则结果为0。按位与运算符的语法如下:
int result = operand1 & operand2;
其中,operand1和operand2表示要进行按位与运算的两个操作数。以下是按位与运算符的示例:
javaCopy codeint a = 10; // 1010
int b = 6; // 0110
int c = a & b; // 0010
System.out.println(c); // 输出2
在这个示例中,我们定义了两个整数变量a和b,并将它们的值分别设置为10和6。然后我们使用按位与运算符(&)对它们进行按位与运算,并将结果存储在变量c中。按位与运算的结果是0010,即2。
按位或运算符(|)用于对两个操作数的所有二进制位执行逻辑OR操作。如果两个操作数的对应二进制位中至少有一个为1,则结果为1;否则结果为0。按位或运算符的语法如下:
int result = operand1 | operand2;
其中,operand1和operand2表示要进行按位或运算的两个操作数。以下是按位或运算符的示例:
int a = 10; // 1010
int b = 6; // 0110
int c = a | b; // 1110
System.out.println(c); // 输出14
在这个示例中,我们定义了两个整数变量a和b,并将它们的值分别设置为10和6。然后我们使用按位或运算符(|)对它们进行按位或运算,并将结果存储在变量c中。按位或运算的结果是1110,即14。
按位异或运算符(^)用于对两个操作数的所有二进制位执行逻辑XOR操作。如果两个操作数的对应二进制位不相同,则结果为1;否则结果为0。按位异或运算符的语法如下:
int result = operand1 ^ operand2;
其中,operand1和operand2表示要进行按位异或运算的两个操作数。以下是按位异或运算符的示例:
int a = 10; // 1010
int b = 6; // 0110
int c = a ^ b; // 1100
System.out.println(c); // 输出12
在这个示例中,我们定义了两个整数变量a和b,并将它们的值分别设置为10和6。然后我们使用按位异或运算符(^)对它们进行按位异或运算,并将结果存储在变量c中。按位异或运算的结果是1100,即12。
按位取反运算符(~)用于对一个操作数的所有二进制位执行逻辑NOT操作。如果一个二进制位为0,则结果为1;否则结果为0。按位取反运算符的语法如下:
int result = ~operand;
其中,operand表示要进行按位取反运算的操作数。以下是按位取反运算符的示例:
int a = 10; // 1010
int b = ~a; // 0101 (补码表示为11111111111111111111111111110101)
System.out.println(b); // 输出-11
在这个示例中,我们定义了一个整数变量a,并将其值设置为10。然后我们使用按位取反运算符(~)对它进行按位取反运算,并将结果存储在变量b中。按位取反运算的结果是0101(补码表示为11111111111111111111111111110101),即-11。
注意:按位取反运算符会将操作数的符号位也取反。这意味着,如果操作数是正数,那么按位取反运算的结果是其二进制表示的绝对值减1的负数。如果操作数是负数,那么按位取反运算的结果是其二进制表示的绝对值减1的正数。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。