ITパスポート試験 / 令和8年度 ITパスポート試験 公開問題 / 問74
certification-simodake-work

令和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に入力する式はどれか。

  1. ア IF(合計(B2:B4) < 2, 合計(B2:B4), IF(合計(B2:B4) = 2, 0, 1)) ✓ 正答
  2. イ IF(合計(B2:B4) < 2, 合計(B2:B4), IF(合計(B2:B4) = 2, 1, 0))
  3. ウ IF(合計(B2:B4) > 2, 合計(B2:B4), IF(合計(B2:B4) = 2, 0, 1))
  4. エ IF(合計(B2:B4) > 2, 合計(B2:B4), IF(合計(B2:B4) = 2, 1, 0))

解説

この問題は、2進数の足し算における各桁の合計値と、そこから導かれる「現在の位の表示値」との関係を論理式で表現するものです。

2の位の計算対象は、セルB3(αの2の位)、セルB4(βの2の位)、そしてセルB2(1の位からの繰り上がり)の3つです。これらの合計値を S=B2+B3+B4S = B2 + B3 + B4 としたとき、セルB5に表示すべき値は以下のルールに従います。

  • SS が 0 または 1 の場合:SS そのものを表示(繰り上がりなし)
  • SS が 2 の場合:0 を表示(繰り上がりあり)
  • SS が 3 の場合:1 を表示(繰り上がりあり)

選択肢のアにある IF(合計(B2:B4)<2,合計(B2:B4),IF(合計(B2:B4)=2,0,1))IF(合計(B2:B4) < 2, 合計(B2:B4), IF(合計(B2:B4) = 2, 0, 1)) は、この論理を完全に再現しています。

2進数の加算メカニズム

2進数の足し算は、10進数と同じように「各桁を足し合わせ、結果が2以上になれば上の位へ繰り上げる」というルールで行われます。

今回のように、下の位からの繰り上がりを含めて3つの値を足し合わせる場合、合計値 SS は必ず 0, 1, 2, 3 のいずれかになります。

  • 0の場合:0+0+0=00+0+0 = 0 → 表示 0
  • 1の場合:0+0+1=10+0+1 = 1 → 表示 1
  • 2の場合:1+1+0=21+1+0 = 2 → 2進数で「10」となるため、表示 0(上の位への繰り上がりが発生)
  • 3の場合:1+1+1=31+1+1 = 3 → 2進数で「11」となるため、表示 1(上の位への繰り上がりが発生)

この問題で問われているのは、この計算結果のうち「下の位の数字」を関数でどう導き出すかという点です。S<2S < 2 なら SS をそのまま表示し、それ以外(2または3)の場合は、2であれば 0、3であれば 1 になるという分岐が、選択肢アの構造に対応しています。

コンピュータの論理演算とIF関数の関係

この問題は、単なる表計算ソフトの使い方の習得にとどまらず、コンピュータのハードウェア内部で行われている「加算器」の仕組みを理解するための教育的意図があります。

実際のCPU内にある加算回路は、論理ゲート(AND, OR, XORなど)を組み合わせて構成されています。プログラムや表計算ソフト上で IFIF 関数を使って条件分岐を書くことは、物理的な回路が電気信号を処理する論理手順をシミュレーションしていることに他なりません。

情報システムの開発現場において、複雑なビジネスルールをプログラミングコードや条件式に落とし込む作業は極めて重要です。この問題のように「条件を整理し、ネスト(入れ子)構造を使って正しく論理を導く」というスキルは、Excelでの業務効率化だけでなく、ソフトウェア設計の基礎能力を養うものと言えます。

参考リンク

学習の記録にははてなブックマーク!

気づいたこと・覚えたことをコメントにメモしよう