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