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

情報処理安全確保支援士試験 平成31年度春期 午前Ⅰ
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進数表現にして,桁ごとの論理積及び論理和をとったものとする。

解説

情報処理安全確保支援士試験 平成31年度春期 午前Ⅰ 問1「0以上255以下の整数 n に対して, next(n) = n+1 (0≦n<2…」の正解と解説です。情報処理安全確保支援士試験の「ビット演算」分野の過去問で、各選択肢の正誤も解説付きで確認できます。

正解

. (n+1) AND 255

問題の解説

8ビットの値を1ずつ進め、255の次は0に戻す処理(モジュロ256)を論理演算で表す問題。255は2進数で11111111。n+1がオーバフローして256(100000000)になっても、255とANDをとれば上位の桁が落ちて0になり、255未満ならn+1はそのまま残る。よってアが正解。実務でも下位nビットの抽出やリングバッファの折返しにビットマスクが使われる。

選択肢ごとの解説

  • 255(11111111)とのANDは下位8ビットだけ残すマスク。256は0、それ以外はn+1のまま得られ正解。
  • 256(100000000)とANDをとると9桁目だけ見るので、ほとんどの値が0になり成立しない。
  • 255とのORは下位8ビットを全て1にしてしまい、常に255になるため誤り。
  • 256とのORは9桁目を1に立てるだけで折返しにならず、n+1と一致しないため誤り。

情報処理安全確保支援士試験 平成31年度春期 午前Ⅰ の過去問一覧に戻る・問1

情報処理安全確保支援士試験 の iOS アプリ版

アプリ版なら、よりスムーズに動作し、
スワイプで問題遷移ができます。

情報処理安全確保支援士試験 合格.dev を App Store でダウンロード