過去問解きまくり研究所 ホーム

平成22年度 春期 午前 問1

基礎理論

論理演算に関する問題

0 以上 255 以下の整数 n に対して,next(n) を次のように定義する。next(n) と等しい式はどれか。ここで,x AND y 及び x OR y は,それぞれ x と y を 2 進数表現にして,けたごとの論理積及び論理和をとったものとする。

〔next(n) の定義〕

0 ≦ n < 255 のとき  next(n) = n+1
n = 255 のとき      next(n) = 0
答えと解説を見る

✓ これが正解ア(n+1) AND 255

解説

255 との論理積は下位 8 けただけを残す操作です。

この問いは、次の値を求める関数が 256 個の値の上をぐるりと 1 周する数え上げになっていることに気づけば決まります。定義を読むと、0 から 254 までは 1 を足すだけで、255 のときだけ 0 に戻ります。つまり 256 で割った余りを取る操作と同じです。ここで 255 を 2 進数で書くと 11111111 となり、下位 8 けたがすべて 1 です。ある値とこの 11111111 との論理積というけたごとの論理演算を行うと、下位 8 けたはそのまま残り、9 けた目より上はすべて 0 に落ちます。正解は n に 1 を足してから 255 との論理積を取る式です。n が 254 までのときは足した結果がそのまま残り、n が 255 のときは足した結果である 256 が 100000000 となって、下位 8 けたに 1 が 1 つも無いので 0 になります。2 のべき乗から 1 を引いた値との論理積は、そのべき乗で割った余りを取る定石で、巡回する数え上げや表の添字の折り返しで繰り返し出てきます。

ほかの選択肢はなぜ違うのか

この問題の用語

出典:平成22年度 春期 応用情報技術者試験 午前 問1

同じ用語が出る問題

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)