平成22年度 春期 応用情報技術者試験 午前 問1
0以上255以下の整数nに対して,

と定義する。next(n)と等しい式はどれか。ここで,x AND y 及び x OR y は,それぞれxとyを2進数表現にして,けたごとの論理積及び論理和をとったものとする。
キーボード:1〜4 で解答 → 次の問題 ← 前の問題
正解と解説を見る
解答する前に解説を開いたので、この問題は「見て解いた」として記録します(正解数には入りません)。
正解:ア
next(n) は、nが0〜254のときは n+1、nが255のときは0に戻る「8ビットで1を加える」動作を表しています。
ポイント
- 255 は2進数で
11111111(下位8ビットがすべて1)です。 - 256 は2進数で
100000000(第8ビットだけが1)です。 - n=255 のとき n+1=256=
100000000となり、下位8ビットだけを取り出せば0になります。
各選択肢の確認
-
ア: (n+1) AND 255 正しい。255 との論理積をとると (n+1) の下位8ビットだけが残ります。n+1 が1〜255のときはそのままの値、n+1=256 のときは0になり、next(n) と一致します。
-
イ: (n+1) AND 256 誤り。256 との論理積では第8ビットだけが残るため、n+1 が1〜255のときは常に0になってしまいます。
-
ウ: (n+1) OR 255 誤り。255 との論理和をとると下位8ビットがすべて1になり、n+1 が1〜255のときは常に255になってしまいます。
-
エ: (n+1) OR 256 誤り。256 との論理和をとると第8ビットが立ち、n+1 に256を加えた値になってしまいます(n+1=256 のときは256のまま)。
答え
ア: (n+1) AND 255
出典:平成22年度 春期 応用情報技術者試験 午前 問1