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

応用情報技術者 2015年 秋期 午前201


問題文

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

選択肢

(正解)

0以上255以下の整数のnext関数【午前2 解説】

正解の理由

選択肢アのは、の下位8ビットだけを取り出す操作です。
の範囲で、が256になるときは下位8ビットが0に戻るため、の定義と一致します。
他の選択肢はビット数や論理和・論理積の意味からの動作を再現できません。

解法ステップ

  1. の定義を確認し、のとき0に戻ることを理解する。
  2. 255を2進数で11111111(8ビットすべて1)と認識する。
  3. は、の下位8ビットを抽出する操作と理解する。
  4. のとき、は2進数で100000000となり、下位8ビットは0になる。
  5. 他の選択肢のビット演算結果を検証し、の動作と合わないことを確認する。
  6. よって、と等しいと判断する。

選択肢別の誤答解説

  • イ: は256のビット(9ビット目)だけを抽出し、0か256のどちらかになるため不適。
  • ウ: は常に下位8ビットが1になるため、の連続的な増加を表現できない。
  • エ: は9ビット目を常に1にするため、の範囲外の値を返す。

よくある誤解

  • 256とのANDは0か256のどちらかになり、の連続性を保てません。
  • OR演算はビットを立てるため、のような0に戻る動作を表現できません。

補足コラム

ビット演算のANDは特定のビットをマスク(抽出)する際に使われます。
255は8ビットすべて1なので、AND 255は「下位8ビットだけを取り出す」操作です。
この性質を利用して、0〜255の範囲での循環カウンタを簡単に実装できます。

FAQ

Q: なぜは256で0に戻るのですか?
A: 256は2進数で100000000(9ビット目が1)で、下位8ビットはすべて0なのでAND 255で0になります。
Q: OR演算はなぜの動作を表現できないのですか?
A: ORはビットを立てる操作なので、値が増加して0に戻るような循環動作を表現できません。

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

\ せっかくなら /

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

クイズ画面へ遷移する

すぐに利用可能!

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

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