Как сложить числа, умея только вычитать?

На входе есть два числа, от 0 до 15 включительно (всего 16) . Нужно сложить их, используя только операцию вычитания. Максимальный ответ быть 15, а потому сумма числе не может превышать это число. Думаю это должно быть возможно.
1 год назад от JonelleOlver

1 ответ

0 голосов
в двоичной форме
сумма чисел от равна до -30
нужно использовать 6 бит
старший бит -32
сумма младших до 31
числа вычитаются как числа без знака
но вычитаемое преобразуется в число со знаком
нужно a- (-b)
чтобы из b преобразовать в -b
нужно инвертировать все биты в числе и вычесть (-1)
возможно придется коректировать результат и вводить флаги заема/переноса в знаковый разряд и из знакавого разряда
в общем суть такая
31- (-6) =37 а у нас получится 5
-31- (-6) =-37 а у нас получится 5 )
1 год назад от biancacm2

Связанные вопросы