問題
問72
二つの2進数01011010と01101011を加算して得られる2進数はどれか。ここで、2進数は値が正の8ビットで表現するものとする。
- 00110001
- 01111011
- 10000100
- 11000101
[出典:ITパスポート試験 平成29年度春期 問72]
正解
正解は「エ」です。
解説
この問題は、2進数の加算について問われています。2進数の加算は、10進数の加算と同じように、下の桁から順に計算していきますが、桁が繰り上がる条件が異なります。
2進数の加算のルールは以下のとおりです。
- 0 + 0 = 0 ・0 + 1 = 1 ・1 + 0 = 1 ・1 + 1 = 0(次の桁に1が繰り上がります)
- 1 + 1 + 1(前の桁からの繰り上がり) = 1(次の桁に1が繰り上がります)
それでは、与えられた2つの2進数 01011010 と 01101011 を加算してみましょう。
01011010 + 01101011 ———- 右端の桁(一番下の桁)から順に計算します。
- 1桁目(右端):0 + 1 = 1
- 2桁目:1 + 1 = 0(繰り上がり1)
- 3桁目:0 + 0 + 1(繰り上がりの1)= 1
- 4桁目:1 + 1 = 0(繰り上がり1)
- 5桁目:1 + 0 + 1(繰り上がりの1)= 0(繰り上がり1)
- 6桁目:0 + 1 + 1(繰り上がりの1)= 0(繰り上がり1)
- 7桁目:1 + 1 + 1(繰り上がりの1)= 1(繰り上がり1)
- 8桁目(左端):0 + 0 + 1(繰り上がりの1)= 1
これらの結果を並べると、11000101 となります。これは選択肢のエと一致します。8ビットの範囲内に収まっているので、この結果がそのまま正解となります。
ア(00110001):
これは誤った計算結果です。特に、桁上がりの処理が正しく行われていない可能性が高いです。
イ(01111011):
これは誤った計算結果です。上位の桁で繰り上がりの処理が間違っている、または漏れている可能性があります。
ウ(10000100):
これは誤った計算結果です。各桁の加算や繰り上がりの計算に間違いがある可能性があります。
難易度
この問題は、2進数の加算というコンピュータの基礎的な計算能力を問うものです。計算自体はシンプルですが、桁上がりの処理を正確に行う必要があり、計算ミスを誘発しやすいので注意が必要です。ITパスポート試験では頻出のテーマであり、基本的なルールを理解し、落ち着いて丁寧に計算すれば確実に正解できる問題ですので、初心者の方も繰り返し練習することをおすすめします。
用語補足
2進数:
コンピュータが情報を扱うために使う、0と1の2種類の数字(ビット)だけを使って数を表現する方法です。例えば、私たちが普段使う10進数の「3」は、2進数では「11」と表されます。
加算:
複数の数値を足し合わせる算術演算のことです。2進数でも10進数と同じように、特定のルールに従って桁ごとに足し算を行います。
8ビット:
情報を表す最小単位である「ビット」が8つ並んだデータの塊のことです。8つの0と1の組み合わせで、例えば「00000000」から「11111111」までの数を表現できます。これは1バイトに相当します。
正の数:
0より大きい数のことです。コンピュータでは、負の数を表現するために「2の補数」などの特別な方法を使うことがありますが、この問題ではその複雑な考慮は不要で、単純に計算結果がプラスの数として扱われます。
対策
この問題を解く上でのポイントは、2進数の加算の基本的なルールを正確に覚えることです。特に「1+1=10(0を記述し、1を繰り上げる)」という桁上がりのルールを確実に適用できるかが重要です。計算ミスを防ぐためには、紙とペンを使って一桁ずつ丁寧に計算し、繰り上がりを見落とさないように注意深く進める練習をすることが有効です。

