2016年6月3日星期五

Java位运算符相关

~:按位取反
^:按位异或(数值不同才为1)
&:按位与
|:按位或

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.<<运算符
<<为算数左位移,位移的结果是左边的操作数乘以2的幂,指数为右边的操作数

没有评论:

发表评论