kódovanie celých čísel v počítači
kódovanie celých čísel v počítači — spôsob reprezentácie celých čísel v počítači. Na kódovanie sa používajú rozličné binárne blokové kódy. Nech A je celé číslo. Ak je A kladné, možno ho zapísať vo formáte celé číslo bez znamienka; vtedy je číslu A priradená binárna postupnosť bn-1, bn-2, ..., b0 taká, že A = b020 + b121 + ··· + bn-12n-1. Príklad: číslo 12 je reprezentované postupnosťou 1100 = 1×8 + 1×4 + 0×2 + 0×1.
Ak je potrebné zapisovať kladné a záporné celé čísla, možno použiť viaceré formáty:
a) celé číslo so znamienkom — v tomto prípade je číslo A reprezentované binárnou postupnosťou bn-1, bn-2, ..., b0, v ktorej najvyšší bit bn-1 reprezentuje znamienko (znamienkový bit); ak bn-1 = 1, číslo A je záporné, ak bn-1 = 0, číslo A je kladné. Absolútna hodnota čísla A je b020 + b121 + ··· + bn-22n-2. Príklad: nech dĺžka čísla (v bitoch) je 4, potom reprezentácia čísla 5 je postupnosť 0101, čísla -3 postupnosť 1011, čísla 0 postupnosť 1000 (záporná 0) alebo aj 0000 (kladná 0);
b) tzv. excess kód — v tomto kóde sa používa konštanta a nazývaná excess a číslu A je priradená binárna postupnosť bn-1, bn-2, ..., b0 taká, že A = b020 + b121 + ... + bn-12n-1 - a. Ako excess sa v kódoch dĺžky n najčastejšie používa hodnota a = 2n-1. Príklad: Nech n = 4 a a = 8, postupnosť 1111 potom zodpovedá číslu 7 (7 = 15 - 8), postupnosť 0101 číslu -3 (-3 = 5 - 8) a postupnosť 0000 číslu -8;
c) jednotkový doplnkový kód obrátený kód;
d) binárny doplnkový kód — v tomto prípade je zápis kladného čísla rovnaký ako vo formáte celé číslo so znamienkom. Záporné celé číslo A zapísané vo formáte celé číslo so znamienkom sa do binárneho doplnkového kódu prevádza tak, že sa najskôr negujú všetky jeho bity okrem znamienkového bitu bn-1 a k výsledku sa pripočíta 1. Príklad: Nech n = 4, číslu -5 potom zodpovedá postupnosť 1011 (vo formáte celé číslo so znamienkom), po negovaní 1010 a po pripočítaní 1 1011;
e) BCD, Binary Coded Decimal, binárne kódované desiatkové (čísla) — každej číslici desiatkového čísla sa priradí jej hodnota zapísaná ako štvorbitové celé číslo bez znamienka. Desiatkové číslo je v BCD kóde zapísané ako postupnosť takto zapísaných číslic (pozri kódovanie prvých 10 číslic v tabuľke Kódovanie celých čísel v počítači, šestnástkový kód);
f) osmičkové a šestnástkové kódy (angl. octal and hexadecimal codes) — celé čísla (bez znamienka, to sa kóduje zvlášť) sú kódované binárne, v prípade osmičkového kódu je však binárny reťazec možné rozdeliť na trojice bitov, začínajúc bitmi najnižšej váhy, v prípade potreby je možné doplniť binárny reťazec zľava jednou alebo dvoma nulami tak, aby jeho dĺžka bola deliteľná troma, a každú trojicu bitov nahradiť osmičkovou číslicou. Osmičkovej číslici je priradené trojbitové slovo, ktoré predstavuje zápis danej číslice (čísla) vo formáte celé číslo bez znamienka. Analogicky sa v prípade šestnástkového kódu binárny reťazec rozdelí na štvorice bitov a tie sa nahradia šestnástkovými číslicami (pozri tabuľku Kódovanie celých čísel v počítači, šestnástkový kód);
g) špeciálne kódy — Grayov kód, Johnsonov kód a i.
Kódovanie celých čísel v počítači, šestnástkový kód | ||||||||
---|---|---|---|---|---|---|---|---|
Šestnástkový kód | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
Binárna hodnota | 0000 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 |
Šestnástkový kód | 8 | 9 | A | B | C | D | E | F |
Binárna hodnota | 1000 | 1001 | 1010 | 1011 | 1100 | 1101 | 1110 | 1111 |