位运算
2017-10-09 本文已影响0人
不喵的蛋黄
```java
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++语言中有那个符号,不过意思不一样