java中与或非,异或,位运算

来源:互联网 发布:趣玩网络 编辑:程序博客网 时间:2024/06/04 18:28
  1. //1、&=   与运算二进制中,只有相同才是1  
  2.   a=2;
  3.   a&=3;(a=a&3) 同2&3;结果都是2    

[java] view plain copy
  1. //2、|=   非运算  二进制中只要一个为1就为1  
  2.         a = 4;  
  3.         b = 2;  
  4.         a |= b; (a=a|b) 
  5.         System.out.println("a: "+a);  

[java] view plain copy
  1. //3、^=   异或运算  二进制中只要是两者的值不一样那么就是1  
  2.         a = 4;  
  3.         b = 2;  
  4.         a ^= b;(a=a^b)  
  5.         System.out.println("a: "+a);  


[java] view plain copy
  1. //4、<<=  移位运算  相当于是a = a * Math.pow(2,b);  
  2.         a = 4;  
  3.         b = 2;  
  4.         a <<= b;  a=4*2*2
  5.         System.out.println("a: "+a);  
  6. //   a<<b:a*(2的b次方)

[java] view plain copy
  1. //5、>>=   移位运算  相当于是a = a / Math.pow(2,b);  
  2.         a = 4;  
  3.         b = 2;  
  4.         a >>= b;  a=4/(2*2)
  5.         System.out.println("a: "+a);  
  6. //   a>>b:a/(2的b次方)

[java] view plain copy
  1. //6、~   非运算  二进制所有的位数取反;  
  2.         a = 4;  
  3.         b = 2;  
  4.         a = ~a;  
  5.         b = ~a;  
  6.         System.out.println("a: "+a+" b: "+b);  

[java] view plain copy
  1. //7、>>>=   移位运算  二进制统一向右移 b位,左边不管是什么都用0代替,这是与 >>的区别;  
  2.         a = 4;  
  3.         b = 2;  
  4.         a >>>= b;  
  5.         System.out.println("a: "+a+" b: "+b);  
  6.         System.out.println(8>>>1);  
阅读全文
0 0