java基礎之幾種運算符

~取反操做符移動

1

由於1的原碼,反碼,補碼都爲,0000 0000 0000 0000 0000 0000 0000 0001。因此取反後爲

1111 1111 1111 1111 1111 1111 1111 1110(補碼),要轉換成反碼,1111 1111 1111 1111 1111 1111 1111 1101把反碼轉換成原碼1000 0000 0000 0000 0000 0000 0000 0010,因此~1=-2

-1

由於-1的原碼爲:1000 0000 0000 0000 0000 0000 0000 0001 反碼爲:1111 1111 1111 1111 1111 1111 1111 1110 補碼爲:1111 1111 1111 1111 1111 1111 1111 1111 取反以後0000 0000 0000 0000 0000 0000 0000 0000 因此-1取反以後等於0

| 按位或操做(兩個裏面有一個是1就是1)

&按位與操做(兩個都是1才爲1)

^異或操做(兩個不同就是1)

2>>1按位右移(符號位不變,空出位用符號位補齊)

0000 0000 0000 0000 0000 0000 0000 0010向右移動1位後0000 0000 0000 0000 0000 0000 0000 0001

1<<2按位左移(符號位不變,低位用0補齊)

0000 0000 0000 0000 0000 0000 0000 0001 向左移動兩位後 0000 0000 0000 0000 0000 0000 0000 0100

相關文章
相關標籤/搜索