Mówi się, że w uzupełnieniu 2 0 ma tylko jedną wartość, podczas gdy w uzupełnieniu 1 zarówno +0, jak i -0 mają osobne wartości. Czym oni są?
arithmetic
użytkownik136782
źródło
źródło
000...0
i111...1
. Ale te dwie reprezentacje wciąż stanowią tylko jedną wartość.Odpowiedzi:
W uzupełnieniu do 1 odwracasz wszystkie bity.
Rozważ te 2 przykłady (przy założeniu 8 bitów):
, więc - 4 = 111110114 = 00000100 - 4 = 11111011
, więc - 0 = 11111111 .0 = 00000000 - 0 = 11111111
Masz więc 2 sposoby reprezentowania liczby 0
W uzupełnieniu 2 dodajesz 1 do reprezentacji uzupełnienia 1 liczby ujemnej
Więc masz tylko jeden sposób na reprezentowanie 0 w tym przypadku
Jak widać z przykładów, różnica polega na tym, że:
źródło
źródło
Mówienie o dwóch różnych wartościach 0 w uzupełnieniu jest mylące. Uzupełnienie jednego (i uzupełnienie dwóch) to binarne reprezentacje liczb. Opisują sposób reprezentacji liczb w postaci binarnej oraz sposób wykonywania na nich operacji arytmetycznych. Liczba reprezentowana przez sekwencję bitów jest wartością.
źródło