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

平成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

解説

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 となり、折り返しまで合います。論理積はビットを消す向き、論理和はビットを立てる向きの演算で、桁上がりを捨てる仕事は消す側が担います。

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

この問題の用語

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

同じ用語が出る問題

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