java位移操作

正数的原码,反码,补码和原码一样,负数的反码是原码取反,补码是反码 +1;

在计算机里,负数用补码表示

& : 按位与 ,双目运算 ,1 & 1 = 1,1 & 0 = 00 & 1 = 00 & 0 = 0 ,

| : 按位或 ,双目运算 ,1 & 1 = 1,1 & 0 = 10 & 1 = 10 & 0 = 0 ,

~ : 按位非 ,单目运算 ,~ 1 = -2,~ 0 = -1 ,~n = - ( n+1 )

^ : 按位异或 ,双目运算 ,1 ^ 1 = 0,^ 0 = 1^ 1 = 1^ 0 = 0 ,

<< : 左移 ,双目运算 ,m<<n = m * 2^n

>> : 右移 ,双目运算 ,m>>n = m / 2^n

>>> :无符号右移运算符 ,双目运算 ,

 

1、左移运算符<<  :可总结为  原数 * 2^2(无论正负) 

2、右移运算符>> : 可总结为  floor( 原数 /  2^2 ) (无论正负)

 

 
posted @ 2019-12-13 15:40  窦婴  阅读(1382)  评论(0编辑  收藏  举报