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

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


問題文

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

選択肢

(正解)

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

要点まとめ

  • 結論:は「を256で剰余した値」であり、と等しいです。
  • 根拠:255は2進数で8ビットすべてが1(11111111)で、AND演算で下位8ビットを抽出します。
  • 差がつくポイント:ビット演算の意味と範囲(0〜255)を理解し、256(100000000)とのANDやORの結果を正確に把握することです。

正解の理由

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

よくある誤解

  • 256とのANDは0か256のどちらかになり、の連続性を保てません。
  • OR演算はビットを立てるため、のような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にするため、の範囲外の値を返す。

補足コラム

ビット演算の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 情報処理技術者試験対策アプリ

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