-128 i 128 w uzupełnieniu 2
W uzupełnieniu 2, 0-127 jest reprezentowane jako 00000000 do 01111111. W przypadku liczb ujemnych, odwracamy wszystkie bity w reprezentacji bez znaku i dodajemy 1, aby uzyskać uzupełnienie 2.
(Odniesienie:http://en.wikipedia.org/wiki/Signed_number_representations#Two.27s_complement)
więc -1 w uzupełnieniu 2 będzie:
unsigned 1 = 00000001 invert all bits = 11111110 add 1 = 11111111
Ale dla -128, jeśli wykonamy te same kroki:
unsigned 128 = 10000000 invert all bits= 01111111 add 1= 10000000
więc -128 i 128 mają taką samą reprezentację w notacji uzupełnienia 2? Dlaczego zakres uzupełnienia 2 dla 8 bitów podany jako -127 do 128? W skrócie, dlaczego -128 jest preferowany w stosunku do reprezentowania 128 bez znaku przy użyciu tej samej liczby bitów?