0以上255以下の整数 n に対して、
next(n) = n+1 (0 ≦ n < 255)
next(n) = 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) = 255 + 1 = 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 |