Вам даны два двоичных числа в виде строк. Ваша задача — написать программу, которая сложит эти два двоичных числа и выведет сумму в виде двоичной строки.
Входные данные
Первая строка содержит двоичную строку a (1 ≤ |a| ≤ 10,000).
Вторая строка содержит двоичную строку b (1 ≤ |b| ≤ 10,000).
Выходные данные
Выведите сумму двух двоичных чисел a + b в виде двоичной строки.
Примеры
Входные данные
Выходные данные
1101
1011
11000
101
11
1000
Учебное пособие по двоичному сложению
Точно так же, как вы складываете десятичные числа, вы можете выполнять сложение и в двоичной системе. Двоичное сложение во многом похоже на десятичное, но оно проще благодаря тому, что существует всего четыре основных правила:
0 + 0 = 0
1 + 0 = 1
0 + 1 = 1
1 + 1 = 10 (здесь результат 0 с переносом 1, так же как и «10» в десятичной системе означает 0 с переносом 1 в следующий разряд)
Пример двоичного сложения
Давайте рассмотрим сложение 101 и 110:
←←←← The order of operations is from right to left
101
+ 110
------
1011 Result is 1011 in binary, which is 11 in decimal.
Начинаем складывать справа:
1 + 0 = 1
0 + 1 = 1
1 + 1 = 10 (записываем 0, переносим 1)
Прибавляем перенесённую 1 к самому левому разряду.