ビット演算とは

びっとえんざん

整数を2進数のビットの並びとみなし、ビットごとに論理積(AND)、論理和(OR)、排他的論理和(XOR)、否定(NOT)をとったり、左右にずらしたり(シフト)する演算。特定のビットの取出しや設定、1のビットの数え上げ、2のべき乗での掛け算・割り算などに使う。

「ビット演算」は、4分野の5問の練習問題に出てきます(論理回路, プログラミングの基礎(擬似言語のトレース), 性能評価・プロファイリングなど)。

この用語の分野: プログラミングの基礎(擬似言語のトレース)

ビット演算の練習問題に挑戦

2入力ANDゲートの出力が1になるのはどのときか。

  1. A2つの入力がどちらも1のとき
  2. B2つの入力がどちらも0のとき
  3. Cどちらか一方の入力が1のとき
答えと解説を見る

正解:A. 2つの入力がどちらも1のとき

ANDゲート(論理積)は、すべての入力が1のときだけ出力が1になり、それ以外は0です。直列につないだスイッチと同じで、「両方の条件を満たしたときだけ動く」制御に使われます。例えばクロックとイネーブルのANDで必要なときだけクロックを通すクロックゲーティングや、ビット演算で特定のビットだけを取り出すマスク(x AND 0x0F で下位4ビット)が代表的な用途です。

2入力ORゲートの出力が0になるのはどのときか。

  1. A2つの入力が異なるとき
  2. B2つの入力がどちらも0のとき
  3. C2つの入力がどちらも1のとき
答えと解説を見る

正解:B. 2つの入力がどちらも0のとき

ORゲート(論理和)は少なくとも1つの入力が1なら出力が1になり、0になるのはすべての入力が0のときだけです。並列につないだスイッチと同じで、「どれか1つでも条件を満たせば動く」制御に使われます。例えば複数の割り込み要求をまとめる回路や、ビット演算で特定のビットを1にする操作(x OR 0x80で最上位ビットを1に)に使われます。

解説の中の「ビット演算」

「ビット演算」が出てくる問題(5問)

  1. 2入力ANDゲートの出力が1になるのはどのときか。
  2. 2入力ORゲートの出力が0になるのはどのときか。
  3. ∧ はビットごとの論理積を表す。次のプログラムを実行した後の c の値はどれか。
  4. 性能カウンタで、分岐の予測ミスが非常に多いことが分かった。改善の方法として当てはまるものはどれか。
  5. 暗号の処理を「定数時間」で実装するときに守るべきこととして正しいものはどれか。

プログラミングの基礎(擬似言語のトレース)の参考書を探す PR

Amazonの検索結果へのリンクです。Amazonのアソシエイトとして、半導体教室は適格販売により収入を得ています。

半導体・電子回路・情報の計算ツール

関連する用語

クロックゲーティング 割り込み 性能カウンタ 配列 オブジェクト指向 オフバイワンエラー 擬似言語 剰余演算 制御構造 整数除算

用語集の一覧へ