Blog
It's a Wonderful Life
Java位运算符相关
~:按位取反
^:按位异或(数值不同才为1
&:按位与
|:按位或
>>和>>>的区别
>>和>>>分别为算术右位移和逻辑右位移,位移的结果是运算符左边的操作数被2的幂来除,指数为运算符右边的操作数。
如
128»1 gives 128/2^1 = 64
256»4 gives 256/2^4 = 16
-256»4 gives -256/2^4 = -16
算数位移和逻辑位移的主要区别是算数位移保留符号位,由于溢出而不足的高位部分由符号位的复制来补充。而逻辑位移则不保留符号位,高位补0.
<<运算符
<<为算数左位移,位移的结果是左边的操作数乘以2的幂,指数为右边的操作数