Вычитание дополнения до двух - PullRequest
0 голосов
/ 13 марта 2011

-5-8 Должны ли мы представить оба целых числа в форме дополнения 2, а затем добавить?

Ответы [ 2 ]

2 голосов
/ 13 марта 2011

Ну, -5-8 - это то же самое, что и -5 + -8, поэтому, если вы возьмете два дополнения и сложите, вы получите ответ (-13).

Еще один способ взглянуть на это, который немного менее эффективен, состоит в том, чтобы увидеть, что -5 + -8 равно -(5+8), так что вы можете сначала добавить 5+8, а затем взять дополнение к двум.

0 голосов
/ 13 марта 2011

Вам не нужно, но это правильное решение, при условии, что результат не будет переполнен.

РЕДАКТИРОВАТЬ: Под переполнением я имею в виду не вписывается в представимый диапазон. Например, в 4-битной арифметике -8 - 1000, а -5 - 1011 (-8 + 3), поэтому результат должен быть -13, но (1000 + 1011 = 10011), ведущая 1 не подходит, и мы получаем 3 вместо -13.

...