/ / Samo odejmowanie wartości za pomocą uzupełnienia 2 - binarne, odejmowanie

Odejmowanie wartości przez siebie za pomocą uzupełnienia 2 - binarne, odejmowanie

Używając metody odejmowania uzupełnienia 2, mój wynik to 1111 (-1 w systemie dziesiętnym), podczas gdy w poniższym przypadku powinien wynosić 0

  10010
-10010

gdzie obie wartości podano w postaci binarnej.

Odpowiedź wydaje się dość oczywista, ale zastosowanie metody konwersji wartości ujemnej na dopełnienie 2, a następnie dodanie jej nie wydaje się w tym przypadku działać, ponieważ wydaje się, że wynikiem jest 1111.

Dzięki

Odpowiedzi:

0 dla odpowiedzi № 1

Odejmowanie liczby od siebie za pomocą dopełniacza 2 "oznacza dodawanie dopełniacza 2" (odejmowanie liczby dodaje dopełnianie 2 "):

Musisz znać rozmiar słowa w bitach, aby określić komplemet 2 ", więc załóżmy, że liczba bitów w słowie wynosi 8. To masz 00010010 jako oryginalny numer, oraz 11101110 jako uzupełnienie 2 ”. Uzupełnienie 2 jest uzupełnieniem 1” (11101101) z 1 dodane do tego.

Następnie dodając:

 00010010   [original number, 18 decimal]
+11101110   [2"s complement, -18 decimal]
---------
00000000   [note: there"s a 1 overflow bit]

0 dla odpowiedzi nr 2

Uzupełnienie 10010 w dwójkach (przy założeniu, że 5-bitowe uzupełnienie dwójkowe) wynosi -14 (-16 + 2). 14 w uzupełnieniu dwójkowym to 01110 (2 + 4 + 8). Więc

 10010
-10010
=
10010
+01110
=
00000 (actually 100000, but the 1 is overflowed)