摘自《疯狂java讲义》
java支持的位运算符有如下
& 按位与
| 按位或
~按位非
^按位异或
<<左移运算符
>>右移运算符
>>> 无符号右移运算符
负数以补码存储。左移后右边补零
右移运算符>>正数补0负数补1,而>>>总是补0
对于低于int类型的操作数总是先转换为int
对于int类型的a>>b,当b>32时,用b对32求余。(long 同理)
ps.移位不会改变操作数,而是产生了新的运算结果。
摘自《疯狂java讲义》
java支持的位运算符有如下
& 按位与
| 按位或
~按位非
^按位异或
<<左移运算符
>>右移运算符
>>> 无符号右移运算符
负数以补码存储。左移后右边补零
右移运算符>>正数补0负数补1,而>>>总是补0
对于低于int类型的操作数总是先转换为int
对于int类型的a>>b,当b>32时,用b对32求余。(long 同理)
ps.移位不会改变操作数,而是产生了新的运算结果。