令和5年度 春期 応用情報技術者試験 午前 問1
テクノロジ基礎理論
この問題は2023(R5)春 応用情報技術者 午前に出題されたものです。出題時点の法令・制度に基づく内容のため、現行の内容と一致しない場合があります。
本ページの問題文・選択肢は、原本の体裁を Web 表示用に正規化しています(改行・記号・数式・図表参照の調整)。設問の趣旨および正解に影響する変更は加えていません。
0以上255以下の整数 に対して,
と定義する。と等しい式はどれか。ここで, AND 及び OR は,それぞれ と を2進数表現にして,桁ごとの論理積及び論理和をとったものとする。

図の説明テキスト
next(n) の定義を示す数式ブロック。next(n) は、0≦n<255 のとき n+1、n=255 のとき 0 と定義されている。
解答・解説を読む
正解: 選択肢ア
問題文から、 は0から255までの整数を1ずつ増やし、255の次は0に戻る動作を行う式を選ぶ問題であることが分かります。
正解の根拠
は0以上255以下の整数であるため、 は1以上256以下の値をとります。求める式は、 が0から254のときは となり、 が255のとき(つまり のとき)に0となる計算です。
- が0から254の場合:
は1から255となります。255は2進数で下位8ビットがすべて1(11111111)です。したがって、 と255の AND(論理積) をとると、 の値がそのまま得られます。 - が255の場合:
は256となります。256は2進数で9ビット目のみが1(100000000)です。これを255(011111111)とAND演算すると、各桁で必ずどちらかが0になるため、結果は0になります。
以上より、目的の動作を満たす式は AND となります。
各選択肢の解説
- ア: AND
正解です。255の次に0に戻り、それ以外は1ずつ増加する動作を満たします。 - イ: AND
256(100000000)とのANDをとるため、 のときのみ256となり、それ以外はすべて0になってしまいます。 - ウ: OR
255(011111111)との OR(論理和) をとるため、下位8ビットが常にすべて1となり、正しいカウントアップができません。 - エ: OR
256(100000000)とのORをとるため、常に9ビット目が1になってしまい、計算結果が本来の値に256を加算したものになってしまいます。