运算符--位运算符

位运算符:

 

 

举例  &、|、^  、~

例如

int x = 3;
int y = 4;


System.out.println(x & y);       //0
System.out.println(x | y);        //7
System.out.println(x ^ y);       //7
System.out.println(~x);          //-4

分析:
要想进行位运算,就得先知道数据的二进制

3的二进制:11
4的二进制:100

又因为,整数默认是int类型,占4个字节

所以得到3和4的原码:
3的原码,反码,补码:00000000 00000000 00000000 00000011
4的原码,反码,补码:00000000 00000000 00000000 00000100

 

&:位与运算符:每一列对应位置 有0则0。

 

 

  |   位或运算符:每一列对应位置  有1则1。

 

 

^  位异或运算符:每一列对应位置  相同则0,不同则1。

 

 

 ~  位取反运算符:按位取反(1变成0,0变成1)


 

举例   <<、>>、>>>

 

 

 

 

规律://左移n位,数值乘上2的n次方//右移n位,数值除以2的n次方

public class OptWeiDemo2 {
public static void main(String[] args) {
//规律 左移n位,数值乘上2的n次方
System.out.println(3 << 2);         //12 3*4=12 3*2^2
System.out.println(3 << 4);         //3*2^4 =48
System.out.println(24 >> 2);       //6 24/4=6 24/2^2=6
//规律 右移n位,数值除以2的n次方
System.out.println(48 >> 3);       //48/2^3=6
System.out.println(24 >>> 2);

System.out.println(-24 >> 2);
System.out.println(-24 >>> 2);

}
}

   

posted @ 2021-11-27 18:51  赤兔胭脂小吕布  阅读(99)  评论(0编辑  收藏  举报