ビット演算子
二項演算子:インデックス への移動
構文
AND-expression & equality-expression
exclusive-OR-expression ^ AND-expression
inclusive-OR-expression exclusive-OR-expression
~ cast-expression
shift-expression << additive-expression
shift-expression >> additive-expression
説明
ビット演算子を使用すると、数値ではなく個々のビットを変更することができます。
演算子 | 機能 |
---|---|
& |
ビット AND。2 つのビットを比較して、両方のビットが |
| |
ビット OR(包含的論理和)。2 つのビットを比較して、どちらかまたは両方のビットが |
^ |
ビット XOR(排他的論理和)。2 つのビットを比較して、2 つのビットが異なれば |
~ |
ビット NOT。各ビットを反転させます。 ~ はデストラクタの作成にも使用されます。 |
>> |
ビット右シフト。ビットを右に移動し、右端のビットを破棄し、符号なしの場合には左端のビットに |
<< |
ビット左シフト。ビットを左に移動し、左端のビットを破棄し、右端のビットに |
ビット式のオペランドはどちらも整数型でなければなりません。
A |
B |
A & B |
A ^ B |
A | B |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
メモ: &、>>、<< の意は、状況によって変わります。& はポインタ参照演算子でもあります。
メモ: >> は、オーバーロードされて入出力式の入力演算子として使われることがよくあります。 << は、オーバーロードされて入出力式の出力演算子として使われることがよくあります。