Java位运算是指在Java中使用位操作符(&、|、^、~、、>>>)对整数类型的数据(byte、short、int、long)进行操作的一种运算。
Java位运算是指在Java中使用位操作符(&、|、^、~、<<、>>、>>>)对整数类型的数据(byte、short、int、long)进行操作的一种运算。
&:按位与,两个操作数中位都为1,结果才为1,否则结果为0
|:按位或,两个操作数只要有一个为1,结果就为1,否则结果为0
^:按位异或,两个操作数的位不同时,结果为1,否则结果为0
~:按位取反,把数据的每一位取反,即0变成1,1变成0
<<:左移位,把数据的各二进制位全部左移若干位,高位丢弃,低位补0
>>:右移位,把数据的各二进制位全部右移若干位,对于无符号数,高位补0,有符号数,高位补符号位
>>>:无符号右移位,把数据的各二进制位全部右移若干位,高位总是补0
代码示例:
public class BitOperation {
public static void main(String[] args) {
int a = 60; /* 60 = 0011 1100 */
int b = 13; /* 13 = 0000 1101 */
int c = 0;
c = a & b; /* 12 = 0000 1100 */
System.out.println("a & b = " + c );
c = a | b; /* 61 = 0011 1101 */
System.out.println("a | b = " + c );
c = a ^ b; /* 49 = 0011 0001 */
System.out.println("a ^ b = " + c );
c = ~a; /*-61 = 1100 0011 */
System.out.println("~a = " + c );
c = a << 2; /* 240 = 1111 0000 */
System.out.println("a << 2 = " + c );
c = a >> 2; /* 15 = 1111 */
System.out.println("a >> 2 = " + c );
c = a >>> 2; /* 15 = 0000 1111 */
System.out.println("a >>> 2 = " + c );
}
}
本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处
评论列表(28条)