2019年05月01日

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

問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

タグ:ビット演算
posted by ファーストマクロ at 08:09| Comment(0) | H31春応用情報技術者
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。