C言語のビット演算子の使い方は何ですか?
C言語のビット演算子は、2進数ビットを操作するために使用されます。以下はC言語でよく使われるビット演算子とその使用方法です:
- ビット演算子(&):二つの操作数の対応するバイナリビット同士をAND演算し、対応するビットが両方とも1の場合のみ、結果ビットが1となります。それ以外の場合は0になります。
例:a & b - ビット単位の論理和演算子(|):2つの操作数の対応するバイナリビットを論理和演算し、対応するビットのいずれかが1の場合、結果のビットも1となります。
例:a | b - XOR演算子(^):それぞれの2進数ビットをXOR演算する演算子で、対応するビットが異なる場合は1を返し、同じ場合は0を返す。
例:a ^ b - 左シフト演算子(<<):操作数のバイナリビットを指定されたビット数だけ左にシフトし、右側を0で埋めます。
例:a << b - ビット右シフト演算子(>>):指定されたビット数だけ、オペランドの2進数ビットを右にシフトし、左側を元の最上位ビットで埋めます(符号なし数値の場合)、または符号ビットで埋めます(符号付き数値の場合)。
例:a >> b - 例えば、ビット反転演算子(〜)は、操作数の2進数ビットを反転させる演算子であり、0を1に、1を0に変えます。〜a
これらのビット演算子は整数型(符号付きおよび符号なし整数を含む)および文字型に使用することができます。ビット演算子を使用する際は、データ型の範囲と符号ビットの影響に注意する必要があります。