Двоичное сложение

Вам даны два двоичных числа в виде строк. Ваша задача — написать программу, которая сложит эти два двоичных числа и выведет сумму в виде двоичной строки.

Входные данные

Первая строка содержит двоичную строку a (1 ≤ |a| ≤ 10,000).
Вторая строка содержит двоичную строку b (1 ≤ |b| ≤ 10,000).

Выходные данные

Выведите сумму двух двоичных чисел a + b в виде двоичной строки.

Примеры

Входные данные
Выходные данные
1101 1011
11000
101 11
1000

Учебное пособие по двоичному сложению

Точно так же, как вы складываете десятичные числа, вы можете выполнять сложение и в двоичной системе. Двоичное сложение во многом похоже на десятичное, но оно проще благодаря тому, что существует всего четыре основных правила:
  1. 0 + 0 = 0
  1. 1 + 0 = 1
  1. 0 + 1 = 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 к самому левому разряду.
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue