如何区分逻辑运算符和位运算符
逻辑运算符:左右连接的是布尔类型的操作数
位运算符:左右连接的是具体的数值
<< 左移
3 << 2 = 12
十进制数值3的二进制是 00000000 00000000 00000000 00000011
左移两位是 000000 00000000 00000000 00001100
面试题
4 乘以 8最快的方式是 4 << 3
>> 有符号右移
6 >> 2 = 1
-6 >> 2 = -2
>>> 无符号右移
&与
|或
^异或
~反
~6 = -7
byte类型的表数范围的 -128是怎么算出来的
127: 01111111
-128: 10000000
一看就是个负数
减1: 01111111
取反: 10000000 —-》1*2^7 = 128
加负号: -128