Проблема:
Рассмотрим проблему добавления двух n-битовых двоичных целых чисел, хранящихся в двух массивах n-элементов A и B. Сумма двух целых чисел должна храниться в двоичной форме в массиве (n + 1) -элементов C. Задайте проблему формально и напишите псевдокод для добавления двух целых чисел.
Решение:
- C ← [1... n + 1] ▹ C заполняется нулем.
- для я ← 1 до n
- do sum ← A [i] + B [i] + C [i]
- C [i] ← сумма% 2
- C [i + 1] ← сумма /2 ▹ Целочисленное деление.
- вывод C
Вопрос:
- Я думал, что C [i] есть A [i] + B [i], почему вы добавляете сумму на ← шаг [A] + B [i] + C [i] на шаге 3?
- почему сумма% 2 (зачем нужно использовать modulo на шаге 4?)
- зачем sum/2 (зачем нужно использовать деление на шаге 5?)
Не могли бы вы, пожалуйста, объяснить выше решение с реальным примером? Спасибо.