关于java的位运算(<<、>>、<<<、&、|、^、~)

几个位运算的操作解释:

<<  :左(箭头的方向)移,移除的高位舍弃,低位补零 。

>>  :右(箭头的方向)移,低位移除的舍弃,高位补进符号位(如果是正数的话补0,负数的话补1 )。

>>>:和上一个一样的右移,只是该操作无论符号位怎样,高位均补零  。

&  :将两个数按位进行 且操作 。

|  :将两个数按位进行或操作。

^ :将两个数按位做异或运算。

~ :对于操作数每位都取反操作 。

 

 

对于位操作,均指该数字的原码进行操作,整数的原码是它本身,负数的原码是其对应整数的原码取反然后+1 。

例如:

15 的原码: 00000000 00000000 00000000 00001111

-15 :

15的原码取反:

11111111 11111111 11111111 11110000

然后+1 :

11111111 11111111 11111111 11110001    .

posted @ 2012-09-26 14:29  xiao晓  阅读(226)  评论(0编辑  收藏  举报