戦国IT - 情報処理技術者試験の過去問対策サイト
お知らせお問い合わせ料金プラン

応用情報技術者 2010年 春期 午前201


問題文

0以上255以下の整数に対して、 と定義する。と等しい式はどれか。ここで、 AND 及び OR は、それぞれを2進数表現にして、けたごとの論理積及び論理和をとったものとする。

選択肢

(正解)

next(n)の論理演算による表現【午前2 解説】

要点まとめ

  • 結論:next(n)は「(n+1) AND 255」で表現できる。
  • 根拠:255は8ビットの全ビットが1の数値で、AND演算で下位8ビットを取り出すため。
  • 差がつくポイント:ビット演算の意味と255()の役割を正しく理解すること。

正解の理由

next(n)は0から255までの整数を1ずつ増やし、255の次は0に戻る循環構造です。
255は2進数でなので、の下位8ビットを取り出します。
これにより、のときの2進数はですが、AND演算で下位8ビットは0となり、next(255)=0を実現します。
したがって、アの式がnext(n)の定義と一致します。

よくある誤解

  • 256をANDやORに使うと、9ビット目が影響し、範囲外の値になるため誤りです。
  • OR演算はビットを立てる操作なので、値をリセットする動作には適しません。

解法ステップ

  1. next(n)の定義を確認し、255の次は0に戻ることを理解する。
  2. 255の2進数表現がであることを認識する。
  3. の下位8ビットを取り出す方法を考える。
  4. AND演算で255とを組み合わせると、下位8ビットだけが残ることを確認。
  5. 他の選択肢のビット演算結果と比較し、条件に合致するものを選ぶ。

選択肢別の誤答解説

  • イ: は256がで、ANDすると9ビット目だけを抽出し、0か256の値になるため不適。
  • ウ: は常に下位8ビットが1になるため、0〜255の範囲を超え、next(n)の定義と異なる。
  • エ: は9ビット目が常に1になり、範囲外の値を返すため誤り。

補足コラム

ビット演算はコンピュータの低レベル処理で頻繁に使われます。
特にAND演算はマスク処理に用いられ、特定のビットだけを抽出する際に便利です。
255は8ビット全てが1の値なので、8ビットの範囲制限に最適なマスク値です。

FAQ

Q: なぜ255を使うのですか?
A: 255は8ビット全てが1の数値で、AND演算で下位8ビットを抽出できるためです。
Q: OR演算ではなぜダメなのですか?
A: OR演算はビットを立てる操作なので、値をリセットしたり範囲を制限することができません。

関連キーワード: ビット演算、AND演算、マスク処理、2進数、循環カウンタ
← 前の問題へ次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

応用情報技術者
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてプライバシーポリシー利用規約特商法表記開発者について