平成27年度 秋期 応用情報技術者試験 午前 問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になる関数です。255は2進数で 11111111(8ビットすべて1),256は 100000000 です。n+1は1〜256の値をとるので,下位8ビットだけを取り出せば,256のときだけ0になり,それ以外はn+1のままになります。
-
ア: (n+1) AND 255
正しい。255(11111111)との論理積は下位8ビットを取り出す操作です。n+1が1〜255のときはそのままの値になり,n+1=256(100000000)のときは下位8ビットがすべて0なので0になります。next(n)の定義と一致します。 -
イ: (n+1) AND 256
誤り。256(100000000)との論理積は9ビット目だけを取り出すため,n+1が1〜255のときは0,256のときだけ256になり,定義と一致しません。 -
ウ: (n+1) OR 255
誤り。255との論理和をとると下位8ビットがすべて1になり,n+1が1〜255のときは常に255になります。定義と一致しません。 -
エ: (n+1) OR 256
誤り。256との論理和をとると,n+1が1〜255のときは256が加算された値(257〜511)になり,定義と一致しません。
答え
ア: (n+1) AND 255
出典:平成27年度 秋期 応用情報技術者試験 午前 問1