ビット列の計算をするためには、ビット演算子を使います。
コンピュータのデータは、どんなデータでも0か1という情報の最小単位であるビットから構成されています。たとえば5という数値はコンピュータの内部では 0101 という形式になります。この 0101 をビット列と呼ぶのですが、このビット列を対象にしてデータを加工するのがビット演算子です。
ビット演算子には次の種類があります。
右か左のどちらかのビットが1の時に1となる演算です。計算にはパイプ記号を使います。
| 式 | 結果 |
|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
右と左の両方のビットが1の時に1となる演算です。それ以外の場合は0になります。計算にはアンパサンド記号を使います。
| 式 | 結果 |
|---|---|
| 0 & 0 | 0 |
| 0 & 1 | 0 |
| 1 & 0 | 0 |
| 1 & 1 | 1 |
右と左の両方のビットが異なるとき1となる演算です。それ以外の場合は0になります。計算には アクサンシルコンフレックス記号を使います。
| 式 | 結果 |
|---|---|
| 0 ^ 0 | 0 |
| 0 ^ 1 | 1 |
| 1 ^ 0 | 1 |
| 1 ^ 1 | 0 |
たとえば5という数値( 0101 )と3( 0011 )という数値をビット演算すると次のようになります。
OR 0101 AND 0101 XOR 0101 0011 0011 0011 ------- -------- -------- 0111 0001 0110
Contributions