Predpogoj – predstavitev negativnih binarnih števil
1 je dopolnilo binarnega števila je drugo binarno število, pridobljeno s preklapljanjem vseh bitov v njem, tj. s pretvorbo bita 0 v 1 in bita 1 v 0. Primeri:
Let numbers be stored using 4 bits 1's complement of 7 (0111) is 8 (1000) 1's complement of 12 (1100) is 3 (0011)>
2 dopolnilo binarnega števila je 1 dodana komplementu 1 binarnega števila. Primeri:
Let numbers be stored using 4 bits 2's complement of 7 (0111) is 9 (1001) 2's complement of 12 (1100) is 4 (0100)>
Te predstavitve se uporabljajo za predpisana števila.
The glavna razlika med komplementom 1 in 2′ s komplement je, da ima komplement 1' dve predstavitvi 0 (nič) — 00000000, kar je pozitivna ničla (+0), in 11111111, ki je negativna ničla (-0); medtem ko je v 2′-nem komplementu samo ena predstavitev ničle – 00000000 (0), ker če 1 dodamo 11111111 (-1), dobimo 100000000, kar je devet bitov. Ker je dovoljenih le osem bitov, se skrajni levi bit zavrže (ali preseže), tako da ostane 00000000 (-0), kar je enako pozitivni ničli. To je razlog, zakaj se na splošno uporablja komplement 2′ s.
Druga razlika je v tem, da med seštevanjem števil z uporabo komplementa 1' najprej naredimo binarno seštevanje, nato dodamo prenosno vrednost na koncu. Toda komplement 2 ima samo eno vrednost za nič in ne zahteva prenosnih vrednosti.
Razpon komplementa 1 za n bitno število je od -2n-1-1 do 2n-1-1, medtem ko je obseg komplementa 2 za n bit od -2n-1do 2n-1-1.
python kača proti anakondi
Obstajata 2n-1veljavna števila v komplementu 1 in 2nveljavna števila v komplementu 2.
Razlika med predstavitvijo komplementa 1 in predstavitvijo komplementa 2 v obliki tabele:
| Merila | 1 je dopolnilo | 2 je dopolnilo |
| Opredelitev | Komplement 1 binarnega števila dobimo z obračanjem vseh njegovih bitov. | Komplement 2 binarnega števila dobimo tako, da 1 dodamo komplementu 1 števila. |
| Območje vrednosti, ki jih je mogoče predstaviti z n biti | Od -2^(n-1) + 1 do 2^(n-1) – 1 | Od -2^(n-1) do 2^(n-1) – 1 |
| Število predstavitev za nič | Lahko se predstavi na dva načina (vse 0 in vse 1). | Lahko se predstavi samo na en način (vse 0). |
| Seštevanje pozitivnih in negativnih števil | Enako kot nepredznačeno binarno seštevanje. | Enako kot nepredznačeno binarno seštevanje. |
| Odštevanje števil | Odštejte manjše število od večjega, nato pa rezultatu dodajte bit predznaka. | Negativno število dodajte pozitivnemu z uporabo binarnega seštevanja. |