論理演算・ビット演算の練習問題

結論

AND・OR・XOR・NOT、マスク処理、論理シフト、ド・モルガンの法則を、8ビットで何問でも生成する練習問題。間違えた選択肢が実際にはどの演算の結果なのかまで表示します。

AND と OR は意味を知っていても、桁をそろえて実際に計算する場面では取り違えが起きます。サブネットマスクも、設定値のフラグも、根はこの8ビットの計算です。ここが手で動くようになると、後ろの単元がまとめて軽くなります。

問(1〜50)

この練習問題の作り

出題される型

例題

実際に出題される問題の例です。ページ上のアプリでは、これと同じ形式の問題が何問でも生成されます。

例題 1XORの性質(2回で元に戻る)

8ビットの2進数 A = 10000000 に、B = 10100010 との排他的論理和(XOR)を2回続けて適用しました。得られる結果はどれですか。

  1. 00000000
  2. 01111111
  3. 10000000 ← 正解
  4. 00100010

A XOR B = 00100010、これにもう一度 B を XOR すると 10000000 となり、元の A に戻ります。同じ値を2回 XOR すると必ず元に戻る、という性質です。簡易な暗号化や、作業用の変数を使わない値の交換に使われます。

例題 2OR(論理和)

8ビットの2進数 A = 01100000、B = 00100100 のとき、A OR B(ビットごとの論理和)の結果はどれですか。

  1. 00100000
  2. 10011011
  3. 01000100
  4. 01100100 ← 正解

OR は「どちらかが1なら1、両方0のときだけ0」です。桁をそろえて上から見ていくと、 A 01100000 B 00100100 → 01100100 となり 01100100 です。

例題 3マスクをかけた結果

1バイトのデータ 16進数の D1(2進数で 11010001)に、マスクパターン 16進数の F0(2進数で 11110000)を論理積(AND)で適用しました。結果を2進数で表すとどれですか。

  1. 11010000 ← 正解
  2. 11110001
  3. 00101110
  4. 11110000

マスクが0の桁は必ず0に、1の桁は元のまま残ります。11010001 AND 11110000 = 11010000(16進数では D0)です。AND は「いらない桁を消す」、OR は「特定の桁を1にする」、XOR は「特定の桁を反転する」と役割が分かれています。

よくある質問

論理演算・ビット演算の練習問題は何問ありますか。

問題は固定ではなく、その場で生成しています。1〜50問の範囲で解きたい問題数を指定でき、何度でも新しい問題が出ます。

同じ問題をもう一度解けますか。

解けます。出題するとURLに問題セットの識別子が付きます。そのURLを開き直せば、まったく同じ問題が同じ順番で出ます。

間違えた問題だけ解き直せますか。

解き直せます。結果画面に「間違えた問題だけ解き直す」ボタンがあります。型別の正答率も表示されるので、どの型で落としているかが分かります。

ほかの練習問題