ビット演算子

提供: Appmethod Topics
移動先: 案内検索

二項演算子:インデックス への移動


構文

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 つのビットを比較して、両方のビットが 1 であれば 1 を、そうでなければ 0 を返します。

|

ビット OR(包含的論理和)。2 つのビットを比較して、どちらかまたは両方のビットが 1 であれば 1 を、そうでなければ 0 を返します。

^

ビット XOR(排他的論理和)。2 つのビットを比較して、2 つのビットが異なれば 1 を、そうでなければ 0 を返します。

~

ビット NOT。各ビットを反転させます。~ はデストラクタの作成にも使用されます。

>>

ビット右シフト。ビットを右に移動し、右端のビットを破棄し、符号なしの場合には左端のビットに 0 を代入し、符号ありの場合には符号ビットで埋めます。

<<

ビット左シフト。ビットを左に移動し、左端のビットを破棄し、右端のビットに 0 を代入します。

ビット式のオペランドはどちらも整数型でなければなりません。


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


メモ: &>><< の意味はコンテキストに依存します。& はポインタ参照演算子でもあります。

メモ: >> は、オーバーロードされて入出力式の入力演算子として使われることがよくあります。<< は、オーバーロードされて入出力式の出力演算子として使われることがよくあります。

関連項目