位运算符

位运算符 :

  <<(左移): 在一定的范围内,每左移一位原来的数乘以2

  >>(右移):在一定的范围内,每右移一位原来的数除以2

无符号右移和右移的区别?
  >>(右移): 正数最高位用0补,负数最高位用1补。
  >>>(无符号右移) :

public class BitTest{

    public static void main(String[] args){
        
        System.out.println(3 << 1); //6
        System.out.println(3 << 2);//12
        System.out.println(3 << 3);//24

        System.out.println("---------------------------");

        System.out.println(6 >> 1);//3
        System.out.println(6 >> 2);//1

        System.out.println("---------------------------");

        System.out.println(1 << 31);

        System.out.println("-----------右移----------------");
    
        System.out.println(-6 >> 1);

        System.out.println("-----------无符号右移----------------");

        System.out.println(6 >>> 1);
        System.out.println(-6 >>> 1);
    }
}
原文地址:https://www.cnblogs.com/zmy-520131499/p/11047386.html