問題
問74 表計算ソフトを用いて,二つの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進数の加算のしくみと繰り上がりの処理をIF関数で表現する方法を理解することがポイントです。
正解の理由
セルB5(2の位)の値は,B2(繰り上がり)+B3(αの2の位)+B4(βの2の位)の合計で決まります。
・合計が0または1のとき: 繰り上がりなし,B5にその値をそのまま表示
・合計が2のとき: 2の位は0(4の位に繰り上がり),B5=0
・合計が3のとき: 2の位は1(4の位に繰り上がり),B5=1
これを式にすると「IF(合計(B2:B4)<2, 合計(B2:B4), IF(合計(B2:B4)=2, 0, 1))」となります。アが正解です。
例で確認
α=10(2進数),β=11(2進数)の場合:
・C3=0,C4=1 → B2=IF(0+1=2, 1, 0)=0
・B3=1,B4=1,B2=0 → 合計=2 → B5=0,A5=1
結果: A5=1, B5=0, C5=1 → 2進数101 = 10進数5
α(10₂=2)+β(11₂=3)=5 ✓
各選択肢の解説
ア(〇): 合計<2ならそのまま,合計=2なら0,合計=3なら1となり正しい式です。
イ(×): 合計=2のとき1を返しており,2進数の桁の規則に反します。
ウ(×): 合計>2という条件では合計が3のとき3を返してしまい,誤りです。
エ(×): ウと同様に条件が誤っています。
ポイント
2進数では各桁は0または1の値しか取れません。1+1=10(2進数)となり,上位桁への繰り上がりが発生します。この性質をIF関数で表現することが本問のポイントです。