Я построил четырехразрядный сумматор/вычитатель, использующий 4, 1 бит полных сумматоров, а вход и выход - два дополнительных номера.Понимание дополнения Дополнения
Если X=0111 and Y=1000
их сумма, очевидно, 1111.
В десятичной системе это эквивалентно 7 + 8, таким образом, 15, который является то, что результаты сумма в.
Я смущен, однако, если этот результат должен быть переведен вернуться в «обычный» двоичный файл, перевернув биты и добавив один? Так что ответ будет 0001, представляющий 1 в десятичной системе вместо. И то, что Y в десятичном значении перед переводом было фактически 0110, представляющим 6, тем самым давая следующее в двоичном формате 7-6 = 1
. Если бы кто-нибудь мог указать мне в правильном направлении, я был бы признателен!
Я все еще смущен. Возможно, это станет более ясным. Глядя на данные x = 0111 и y = 1000, с суммой 1111, каков результат, 1111 перевести в десятичную, и что изначально было бы в десятичной форме? – ZAX
7 - 8 = -1: возьмите 1111, переверните биты до 0000 и добавьте один для получения (отрицательный) 0001. – beaker
И только чтобы быть полным, 1000 равно 0111 + 1 = (отрицательный) 1000 или -8. – beaker