Jedničkový doplněk
Jedničkový doplněk (anglicky ones' complement) (též inverzní kód) binárního čísla je způsob reprezentace čísel se znaménkem, u něhož se záporná hodnota získá znegováním všech bitů v binární reprezentaci čísla (nahrazením nul jedničkami a naopak). Jedničkový doplněk čísla se v některých aritmetických operacích chová jako opačná hodnota původního čísla.
Bity | Hodnota bez znaménka |
Hodnota jedničkového doplňku |
---|---|---|
0111 1111 | 127 | 127 |
0111 1110 | 126 | 126 |
0000 0010 | 2 | 2 |
0000 0001 | 1 | 1 |
0000 0000 | 0 | 0 |
1111 1111 | 255 | −0 |
1111 1110 | 254 | −1 |
1000 0010 | 130 | −125 |
1000 0001 | 129 | −126 |
1000 0000 | 128 | −127 |
Výhody a nevýhody
Výhodou používání jedničkového doplňku pro zobrazení záporných čísel je snadné získání opačného čísla a symetrie zobrazeného číselného intervalu kolem nuly. Nevýhodami je existence dvojí nuly a komplikovanější provádění sčítání a odčítání (resp. to, že sčítání a odčítání se provádí jinak než u čísel bez znaménka).
Odkazy
Reference
V tomto článku byl použit překlad textu z článku Ones' complement na anglické Wikipedii.
Literatura
- Donald Knuth: The Art of Computer Programming, Volume 2: Seminumerical Algorithms, chapter 4.1