位运算符 :
<<(左移): 在一定的范围内,每左移一位原来的数乘以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); } }