位运算


System.out.println(Integer.toBinaryString(6));//110

System.out.println(Integer.toBinaryString(-6));//11111111111111111111111111111010

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

System.out.println(6<<1);//12

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

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

System.out.println(-6<<1);//-12

System.out.println(-6>>>1);//2147483645

System.out.println(Integer.parseInt("01111111111111111111111111111101",2));//2147483645

a<< b 将二进制形式的a左移b位,低位空出的所有b位补0;

a >> b 将二进制形式的a右移b位,高位空出的所有b位补原来的符号位;

a>>>b 将二进制形式的a右移b位,高位空出的所有b位补0;

没有<<<符号,谨记; C++语言中有那个符号,不过意思不一样

posted @ 2017-10-09 19:44  小蛋黄  阅读(60)  评论(0)    收藏  举报