位运算符


public class lian_1 {
 public static void main(String[] args) {
  int a = -2; // 0010  (除符号位取反加一 ,进行移位运算后,求原码)
  int b = 3; // 0011
  System.out.println(a ^ b); // 异或(相异为一)                   
  System.out.println(~a); // 取反 (求出补码取反 ,然后求出原码)
  // 补码:0 0010 再取反1 1101 (“~”运算符取反后得到这个数)  先减1再取反,即得出原码
  System.out.println(a & b); // 与
  System.out.println(a | b); // 或
  System.out.println("____________________");
  System.out.println(a << 1);// 左移运算符,左移一位相当于乘以2   (*2)
  System.out.println(a >> 1);//右移运算符,右移一位相当于除以2    (/2)
 }
}

原文地址:https://www.cnblogs.com/rong123/p/10217434.html