目次:
定義-ビット演算子とはどういう意味ですか?
ビット演算子は、個々のビットの操作を伴うビットパターンまたは2進数でビット演算を実行するために使用される演算子です。
ビット演算子は以下で使用されます:
- データに添付されたヘッダーの個々のビットが重要な情報を意味する通信スタック
- チップ内のさまざまな機能を制御し、組み込みマイクロコントローラのハードウェアレジスタの個々のビットを操作してハードウェアのステータスを示す組み込みソフトウェア
- デバイスドライバー、暗号化ソフトウェア、ビデオデコードソフトウェア、メモリアロケーター、圧縮ソフトウェア、グラフィックスなどのアプリケーションの低レベルプログラミング
- 検索および最適化の問題で大きな整数のセットを効率的に維持する
- ビットフラグで実行されるビット演算。列挙型のインスタンスが列挙子リストで定義された値の任意の組み合わせを格納できるようにします。
TechopediaはBitwise Operatorについて説明します
バイトまたはバイトのグループで動作する一般的な論理演算子(+、-、*など)とは異なり、ビットごとの演算子は、バイト内の個々のビットをそれぞれチェックまたは設定できます。 ビットごとの演算子がオーバーフローを引き起こすことはありません。ビットごとの演算の後に生成される結果が、関連する数値型の可能な値の範囲内にあるためです。
C言語ファミリ(C#、C、C ++)で使用されるビット演算子は次のとおりです。
- OR(|):オペランドのいずれかが真の場合、結果は真です。
- AND(&):両方のオペランドがtrueの場合にのみ、結果はtrueです。 特定のビットの値をチェックするマスクを設定するために使用できます。
- XOR(^):結果は、オペランドの1つがtrueの場合のみtrueです。 主に特定のビットを切り替えるために使用されます。 また、3番目の変数を使用せずに2つの変数を交換するのに役立ちます。
- ビット単位の補数または反転またはNOT(〜):すべてのゼロが1になり、すべて1がゼロになるように値を反転することにより、オペランドのビット単位の補数を提供します。
- >>(右シフト)および<<(左シフト)演算子:第2オペランドで指定された位置の数だけビットを右または左に移動します。 右シフト演算は、int型またはlong型のオペランドの算術シフトですが、uint型またはulong型のオペランドの論理シフトです。 シフト演算子はビットの整列に使用されます。
ビット演算子の優先順位(最高から最低)は次のとおりです。
- 〜
- <<および>>
- &
- ^
- |
