令和5年度 春期 ITストラテジスト試験 システムアーキテクト試験 ネットワークスペシャリスト試験 ITサービスマネージャ試験 情報処理安全確保支援士試験 午前Ⅰ 問題【共通】 問1

テクノロジ基礎理論

この問題は2023(R5)春 高度試験共通 午前Iに出題されたものです。出題時点の法令・制度に基づく内容のため、現行の内容と一致しない場合があります。

本ページの問題文・選択肢は、原本の体裁を Web 表示用に正規化しています(改行・記号・数式・図表参照の調整)。設問の趣旨および正解に影響する変更は加えていません。

0以上255以下の整数nnに対して,

[図表: bb_3_1]

と定義する。next(n)next(n)と等しい式はどれか。ここで,x AND yx \text{ AND } y及びx OR yx \text{ OR } yは,それぞれxxyyを2進数表現にして,桁ごとの論理積及び論理和をとったものとする。

next(n) の関数定義
図の説明テキスト

next(n) の関数定義を示す数式。n+1 (0≦n<255) と 0 (n=255) の条件分岐が波括弧でまとめられている。

解答・解説を読む

正解: 選択肢

本設問は、nn の値が 00 から 255255 までの範囲で循環するカウンタの動作をビット論理演算で実現する方法を問う問題です。

255 は2進数で表現すると8ビットのすべてが1(11111111)になります。

  • nn00 から 254254 の場合、n+1n+111 から 255255 の範囲となります。これと 255255AND(論理積) をとると、結果はそのまま n+1n+1 となります。
  • nn255255 の場合、n+1n+1256256 となり、2進数で 100000000 となります。これと 255255 (9ビット表現で 011111111)の AND をとると、すべてのビットが0となり、結果は 00 に戻ります。

したがって、next(n)next(n) と等しい式は (n+1) AND 255(n + 1) \text{ AND } 255 となります。

各選択肢の解説

  • : 正解です。上記の通り、00 から 255255 まで循環する正しい式です。
  • : 誤りです。256256 は2進数で 100000000 です。これと AND をとると、n+1n+1256256 のときのみ 256256 となり、それ以外のときは 00 になってしまいます。
  • : 誤りです。255255 と OR(論理和)をとると、下位8ビットがすべて1になるため、nn254254 以下のときは常に 255255 になってしまいます。
  • : 誤りです。256256 と OR をとると、常に9ビット目が1となるため、256256 以上の値になってしまいます。