1.原码、反码、补码
计算器内用补码表示
1=[0000 0001]原=[0000 0001]反=[0000 0001]补
-1=[1000 0001]原=[1111 1110]反=[1111 1111]补
2.移位操作符
2.1左移位(<<)
最低位用0补
int -12<<2 => [1111 1111 1111 1111 1111 1111 1111 0100]补 >>2 =[1111 1111 1111 1111 1111 1111 1101 0000]补
=[1000 0000 0000 0000 0000 0000 0011 0000]反=-48
2.2 带符号右移位 (>>)
右边的丢弃,高位用原来的数字补
int -12>>2 => [1111 1111 1111 1111 1111 1111 1111 0100]补 >>2 =[1111 1111 1111 1111 1111 1111 1111 1101]补
=[1000 0000 0000 0000 0000 0000 0000 0011]反=-5
int -12<<2
2.3 不带符号移位(>>>)
高位补0
byte -1>>>4=[1111 1111]补>>>4=>[0000 1111]>>>15
3..toBinaryString()
将十进制转化为二进制字符串输出