移位操作符

来源:互联网 发布:java线程池控制并发 编辑:程序博客网 时间:2024/06/06 05:26
class Test{ public static void main(String[] args) { final int MAX_VALUE = 2147483647;final int MIN_VALUE = -2147483648;int i = MAX_VALUE;int j = MIN_VALUE;  System.out.println("i="+ i); System.out.println("j="+ j); System.out.println( "--左移位<<操作符:低位补0;"); System.out.println( Integer.toBinaryString(i) + " = i的二进制"); System.out.println( Integer.toBinaryString(i<<5) + " =i<<5  "); System.out.println( "--有符号右移>>操作符:若符号为正,则在高位补0;若符号为负,则在高位补1;"); System.out.println( Integer.toBinaryString(i) + " = i的二进制"); System.out.println( Integer.toBinaryString(i>>5) + "=i>>5  ");  System.out.println( Integer.toBinaryString(j) + " = j的二进制"); System.out.println( Integer.toBinaryString(j>>5) + "=j>>5  "); System.out.println( "--无符号右移>>>操作符:高位补0;"); System.out.println( Integer.toBinaryString(i>>>5) + "=i>>>5  "); System.out.println( Integer.toBinaryString(j>>>5) + "=j>>>5  ");}}

输出为:

i=2147483647j=-2147483648--左移位<<操作符:低位补0;1111111111111111111111111111111 = i的二进制11111111111111111111111111100000 =i<<5  --有符号右移>>操作符:若符号为正,则在高位补0;若符号为负,则在高位补1;1111111111111111111111111111111 = i的二进制11111111111111111111111111=i>>5  10000000000000000000000000000000 = j的二进制11111100000000000000000000000000=j>>5  --无符号右移>>>操作符:高位补0;11111111111111111111111111=i>>>5  100000000000000000000000000=j>>>5  


0 0
原创粉丝点击