1. 位取反運算符( ~
)
位取反運算符(
~
)是對所有位的數字進行取反操作
2. 位與運算符( &
)
位與運算符(&
)可以對兩個數的比特位進行合併。它會返回一個新的數,只有當這兩個數都是 1 的時候才能返回 1
3. 位或運算符(|
)
位或運算符(|
)可以對兩個比特位進行比較,然後返回一個新的數,只要兩個操作位任意一個爲 1 時,那麼對應的位數就爲 1 。
4. 位異或運算符( ^
)
位異或運算符,或者說“互斥或
”( ^
)可以對兩個數的比特位進行比較。它返回一個新的數,當兩個操作數的對應位不相同時,該數的對應位就爲1。
5. 位左移和右移運算符
位左移運算符(
<<
)和位右移運算符(>>
)可以把所有位數的數字向左或向右移動一個確定的位數。位左移和右移具有給
整數乘以或除以二
的效果。將一個數左移
一位相當於把這個數翻倍
,將一個數右移
一位相當於把這個數減半
。
6. 無符號整數的移位操作
已經存在的
比特位
按指定的位數進行左移
和右移
任何移動超出整型存儲邊界的位都會被
丟棄
用
0
來填充向左或向右移動後產生的空白位
7. 有符號整數的移位操作
有符號整數使用它的第一位(所謂的
符號位
)來表示這個整數是正數還是負數。符號位爲0
表示爲正數
,1
表示爲負數
。其餘的位數(所謂的數值位)存儲了
實際的值
。有符號正整數
和無符號數的存儲方式是一樣的,都是從0
開始算
起。但是
負數
的存儲方式略有不同。它存儲的是 2的n
次方減去它的絕對值
,這裏的n
爲數值位
的位數
。