令和5年度 春期 午前 問1
基礎理論
論理積に関する問題
0 以上 255 以下の整数 n に対して,
〔next(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
解説
下位八ビットだけを残すマスクが答えです。
設問は、0以上255以下の整数nについて、255の次に0へ戻る関数と等しい式を四つから選ばせています。見分けの軸は、式に現れる定数を2進数に開いたときのビットの並びと、桁ごとの論理積・論理和がそれぞれ何をする道具か、という二点だけです。255は2進数で1が八個並んだ値なので、これと桁ごとの論理積をとると下位八ビットだけが残り、それより上の桁は必ず0に落ちます。nが255未満のときn+1は八ビットに収まるので値はそのまま通り、nが255のときはn+1が256となって九桁目だけが立つため、下位八ビットは全て0で、上の桁も落ちて結果は0になります。二つの場合分けを同時に満たすのはこの形だけです。2のべき乗から1を引いた値との論理積は、その2のべき乗で割った余りを取り出す操作でもあり、要素数が2のべき乗の環状の並びで添字を回すときに同じ書き方が使われます。
ほかの選択肢はなぜ違うのか
- イ(n+1)AND 256:定数を256にした桁ごとの論理積です。256は九桁目だけが立つ値なので、この演算は九桁目以外を全て落とします。n+1が5であれば結果は0となり、ほとんどのnで0が返ってしまいます。
- ウ(n+1)OR 255:255との桁ごとの論理和です。論理和はビットを立てる向きの演算なので、どんな値に重ねても下位八桁が全て1になり、結果は常に255以上になります。0へ戻る場合を作れません。
- エ(n+1)OR 256:256との桁ごとの論理和です。九桁目を立てるだけなので、もとの値に256が上乗せされて増える一方になり、255の次に0へ戻すという振る舞いから遠ざかります。
この問題の用語
- OR数学の手法を使って、いくつかの案から最も有利なものを選ぶ考え方です。期待される費用や利益を計算して比べるときに使います。
出典:令和5年度 春期 応用情報技術者試験 午前 問1
同じ用語が出る問題
- 令和7年度 秋期 午前 問22:論理積に関する問題(OR)
- 令和5年度 秋期 午前 問23:真理値表に示す3入力多数決回路(OR)
- 令和4年度 秋期 午前 問23:NANDに関する問題(OR)
- 令和3年度 秋期 午前 問22:桁上がりに関する問題(OR)
- 令和2年度 10月 午前 問23:LUTに関する問題(OR)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)