令和8年度 ITパスポート試験 公開問題 問74 解説 表計算の2進数加算
表計算ソフトを用いて,二つの2進数α,βの和を求める。α,βの桁数は2桁に限定し,2の位,1の位の順に各桁の値がセルB3,セルC3とセルB4,セルC4に入力されている。ワークシートは2進数α=10,β=11の例である。結果は,4の位,2の位,1の位の順にセルA5,セルB5,セルC5に表示したい。セルB2は1の位からの繰り上げの情報を格納するために用いられ,式IF(C3+C4=2,1,0)が入力されている。セルB5に入力する式はどれか。
- ア IF(合計(B2:B4) < 2, 合計(B2:B4), IF(合計(B2:B4) = 2, 0, 1)) ✓ 正答
- イ IF(合計(B2:B4) < 2, 合計(B2:B4), IF(合計(B2:B4) = 2, 1, 0))
- ウ IF(合計(B2:B4) > 2, 合計(B2:B4), IF(合計(B2:B4) = 2, 0, 1))
- エ IF(合計(B2:B4) > 2, 合計(B2:B4), IF(合計(B2:B4) = 2, 1, 0))
解説
この問題は、2進数の足し算における各桁の合計値と、そこから導かれる「現在の位の表示値」との関係を論理式で表現するものです。
2の位の計算対象は、セルB3(αの2の位)、セルB4(βの2の位)、そしてセルB2(1の位からの繰り上がり)の3つです。これらの合計値を としたとき、セルB5に表示すべき値は以下のルールに従います。
- が 0 または 1 の場合: そのものを表示(繰り上がりなし)
- が 2 の場合:0 を表示(繰り上がりあり)
- が 3 の場合:1 を表示(繰り上がりあり)
選択肢のアにある は、この論理を完全に再現しています。
2進数の加算メカニズム
2進数の足し算は、10進数と同じように「各桁を足し合わせ、結果が2以上になれば上の位へ繰り上げる」というルールで行われます。
今回のように、下の位からの繰り上がりを含めて3つの値を足し合わせる場合、合計値 は必ず 0, 1, 2, 3 のいずれかになります。
- 0の場合: → 表示 0
- 1の場合: → 表示 1
- 2の場合: → 2進数で「10」となるため、表示 0(上の位への繰り上がりが発生)
- 3の場合: → 2進数で「11」となるため、表示 1(上の位への繰り上がりが発生)
この問題で問われているのは、この計算結果のうち「下の位の数字」を関数でどう導き出すかという点です。 なら をそのまま表示し、それ以外(2または3)の場合は、2であれば 0、3であれば 1 になるという分岐が、選択肢アの構造に対応しています。
コンピュータの論理演算とIF関数の関係
この問題は、単なる表計算ソフトの使い方の習得にとどまらず、コンピュータのハードウェア内部で行われている「加算器」の仕組みを理解するための教育的意図があります。
実際のCPU内にある加算回路は、論理ゲート(AND, OR, XORなど)を組み合わせて構成されています。プログラムや表計算ソフト上で 関数を使って条件分岐を書くことは、物理的な回路が電気信号を処理する論理手順をシミュレーションしていることに他なりません。
情報システムの開発現場において、複雑なビジネスルールをプログラミングコードや条件式に落とし込む作業は極めて重要です。この問題のように「条件を整理し、ネスト(入れ子)構造を使って正しく論理を導く」というスキルは、Excelでの業務効率化だけでなく、ソフトウェア設計の基礎能力を養うものと言えます。