情報処理安全確保支援士試験 情報処理安全確保支援士試験 令和5年度春期 午前Ⅰ1: 0以上255以下の整数nに対して, next(n) = { n+1 (0≦n<255),0 (n=255) と定義する。next(n)と等しい式はどれか。ここで

情報処理安全確保支援士試験 令和5年度春期 午前Ⅰ
Q 11 / 30
0以上255以下の整数nに対して, next(n) = { n+1 (0≦n<255),0 (n=255) と定義する。next(n)と等しい式はどれか。ここで,x AND y及びx OR yは,それぞれxとyを2進数表現にして,桁ごとの論理積及び論理和をとったものとする。

問題本文

0以上255以下の整数nに対して, next(n) = { n+1 (0≦n<255),0 (n=255) と定義する。next(n)と等しい式はどれか。ここで,x AND y及びx OR yは,それぞれxとyを2進数表現にして,桁ごとの論理積及び論理和をとったものとする。

選択肢

  • .(n+1)AND 255
  • .(n+1)AND 256
  • .(n+1)OR 255
  • .(n+1)OR 256

正解

. (n+1)AND 255

解説

0〜255は8ビットで表せる範囲。255に1を足すと256=2進数100000000となり9桁目に桁上がりする。255とのAND(下位8ビットのマスク)を取ると上位の桁が消え、256→0、それ以外のn+1はそのまま残る。これがnext(n)の巡回動作に一致するためアが正解。実務ではカウンタの周回(モジュロ演算)をビットマスクで実装する典型手法。

選択肢ごとの解説

  • .(n+1)を255でANDし下位8ビットだけ残すため、256のときだけ0に戻り他は不変で巡回を正しく表す。
  • .256(100000000)とのANDは9桁目だけを抽出するので、下位の値が消え意図と全く異なる結果になる。
  • .255とのORは下位8ビットを全て1にしてしまい、常に255付近の値になり巡回にならない。
  • .256とのORは9桁目を立てるだけで桁上がりを0に戻せず、巡回の条件を満たさない。

情報処理安全確保支援士試験 令和5年度春期 午前Ⅰ過去問一覧へ戻る・問1