二進数の加算
文字列として与えられた2つの二進数があり、その和を二進数表現で出力するプログラムを作成する問題です。
入力
最初の行に最初の二進数文字列
a
(1 ≤ |a| ≤ 10,000) が与えられます。2行目に2つ目の二進数文字列
b
(1 ≤ |b| ≤ 10,000) が与えられます。 出力
2つの二進数
a + b
の合計を、二進数文字列として出力してください。 例
入力 | 出力 |
1101
1011 | 11000 |
101
11 | 1000 |
二進数加算のチュートリアル
十進数の足し算と同じように、二進数でも加算を行うことができます。二進数の足し算は、扱う数字が 0 と 1 しかない分、逆にシンプルです。押さえるべき基本的なルールは4つだけです:
0 + 0 = 0
1 + 0 = 1
0 + 1 = 1
1 + 1 = 10
(いわゆる 1 を繰り上げて 0 を書くイメージです)
二進数加算の例
次の例では、
101
と 110
を足し算する方法を示します:←←←← 計算は右端の桁から行います
101
+ 110
------
1011
これは十進数換算でいう 5 + 6 = 11 に相当し、二進数では
1011
となります。右端から順番に計算すると:1 + 0 = 1
0 + 1 = 1
1 + 1 = 10
(0 を書いて 1 を繰り上げ)
- 最も左の桁に繰り上げた 1 を加えます。
Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB