平成27年度 秋期 午前 問1
基礎理論
論理積に関する問題
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
答えと解説を見る
✓ これが正解ア(n+1) AND 255
解説
255 との論理積で、9 桁目の桁上がりを捨てます。
この設問の next は、0 から 254 までは 1 ずつ増え、255 の次で 0 に戻ります。これは 256 で割った余りを取る操作と同じ形です。そこで、n に 1 を足した値から 256 以上の位だけを落とす手立てを考えます。2 進数で書くと 255 は 11111111 で、下位 8 桁がすべて 1 です。桁ごとの論理積は、相手の桁が 1 のところだけ元の値を残し、0 のところを 0 にします。つまり残したい側が 1 になっている定数と組み合わせれば、いらない側だけを消せます。残したいのは下位 8 桁ですから、組み合わせる定数は 255 です。両端で確かめると、n が 254 なら 255 と 255 で 255、n が 255 なら 256 と 255 で 0 となり、折り返しまで合います。論理積はビットを消す向き、論理和はビットを立てる向きの演算で、桁上がりを捨てる仕事は消す側が担います。
ほかの選択肢はなぜ違うのか
- イ(n+1) AND 256:256 を 2 進数で書くと 100000000 で、9 桁目だけが 1 です。この定数と桁ごとに掛け合わせると 9 桁目より下がすべて消えるので、n が 254 以下のあいだ結果は 0 のまま動きません。
- ウ(n+1) OR 255:桁ごとの論理和は、相手の桁が 1 のところを 1 にする働きです。下位 8 桁をすべて 1 にしてしまうため、n が 254 以下なら結果はいつも 255 になり、1 ずつ進む動きが消えます。
- エ(n+1) OR 256:n が 254 以下なら 9 桁目を 1 に立てるだけなので、値がそのまま 256 だけ大きくなります。255 の次を 0 へ戻す働きが無いどころか、0 以上 255 以下という範囲からも出てしまいます。
この問題の用語
- OR数学の手法を使って、いくつかの案から最も有利なものを選ぶ考え方です。期待される費用や利益を計算して比べるときに使います。
出典:平成27年度 秋期 応用情報技術者試験 午前 問1
同じ用語が出る問題
- 令和7年度 秋期 午前 問22:論理積に関する問題(OR)
- 令和5年度 秋期 午前 問23:真理値表に示す3入力多数決回路(OR)
- 令和5年度 春期 午前 問1:論理積に関する問題(OR)
- 令和4年度 秋期 午前 問23:NANDに関する問題(OR)
- 令和3年度 秋期 午前 問22:桁上がりに関する問題(OR)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)