本文へスキップ

技術士試験(情報工学部門)・情報技術者試験。ファーストマクロ。


Since 2016.4.19

平成31年度 春期 応用情報技術者試験問題と解説

問1

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


正解


解説

255を2進数表現すると  1111 1111
256を2進数表現すると 1 0000 0000
である。

また、 
next ( 0 ) =  0 + 1 = 1
next ( 254 ) = 254 + 1 = 255
next ( 255 ) = 0
である。

これらを踏まえる。

ア 正しい。
 n = 0 のとき
 1 AND 255 = 0000 0001 AND 1111 1111 = 1
 n = 254 のとき
 255 AND 255 = 1111 1111 AND 1111 1111 = 255
 n = 255 のとき
 256 AND 255 = 1 0000 0000 AND 1111 1111 = 0
 すべて成り立つ。

 n = 0 のとき
 1 AND 256 = 0000 0001 AND 1 0000 0000 = 0
 n = 254 のとき
 255 AND 256 = 0111 1111 AND 1 0000 0000 = 0
 n = 255 のとき
 256 AND 256 = 1 0000 0000 AND 1 0000 0000 = 256

 n = 0 のとき
 1 OR 255 = 0000 0001 OR 1111 1111 = 1111 1111 = 255
 n = 254 のとき
 255 OR 255 = 1111 1111 OR 1111 1111 = 255
 n = 255 のとき
 256 OR 255 = 1 0000 0000 OR 1111 1111 = 1 1111 1111 = 511

 n = 0 のとき
 1 OR 256 = 0000 0001 OR 1 0000 0000 = 1 0000 0001 = 257
 n = 254 のとき
 255 OR 256 = 1111 1111 OR 1 0000 0000 = 1 1111 1111 = 511
 n = 255 のとき
 256 OR 256 = 1 0000 0000 OR 1 0000 0000 = 256

目次 問2