Reprezentace čísel a základní dvojkové aritmetické operace v počítači
Binární čísla se znaménkem
Přímý kód
Kladné číslo se od záporného liší pouze hodnotou nejvyššího bitu (0 – kladná čísla, 1 – záporná čísla)
-
pro z intervalu
-
pro z intervalu
Příklad převodu:
Doplňkový kód
Číslo s opačným znaménkem se získá inverzí hodnot všech bitů a aritmetickým přičtením 1 k nejnižšímu bitu
-
pro z intervalu
-
pro z intervalu
Příklad převodu:
Kód transformované nuly
Číslo s opačným znaménkem se prakticky získá z čísla v doplňkovém kódu změnou hodnoty nejvyššího bitu.
Obvykle se používá pro zobrazení čísel v pohyblivé řádové čárce.
pro z intervalu
Příklad převodu:
Informací o znaménku čísla ve všech uvedených kódech nese nejvyšší bit – znaménkový. Všechny ostatní bity jsou významové.
Základní aritmetické operace
Sčítání
0101 5 1001 9
+0100 4 +1010 10
------- -------
1001 9 10011 19
^
Přetečení
Odčítání
Podobné jako sčítání, ale pokud od 0 odečteme 1, výsledek je 1 a musíme odečíst 1 (vypůjčit si) i ze sloupečku vlevo.
1001 9
−0101 5
-------
0100 4
Násobení
Délka výsledku násobení dvou binárních čísel nelze jednoduše odhadnout – výsledek se ukládá do dvojnásobně velkého prostoru.
1011
×1010
-----
0000
1011
0000
1011
-------
1101110
Pevná řádová čárka
V tomto zobrazení definujeme místa před a místa za řádovou čárkou. Dnes už se pro desetinná čísla téměř nepoužívá. Na klasická celá čísla se dá pohlížet jako na čísla s pevnou řádovou čárkou a 0 místy za čárkou.
Plovoucí řádová čárka
S – znaménko
E – exponent – celé číslo, vyjadřuje řád
M – mantisa – reálné číslo, vyjadřuje hodnotu
B – základ – 2
Příklad:
Toto číslo by se na 14 bitů u FX nikdy nevešlo. Problém je s malými čísly ⇒ použije se lichý nebo sudý posuv. Zavede se BIAS (posunutí)
Standard IEEE 754
Ukládá binární čísla v plovoucí desetinné čárce na 32 bitech (jednoduchá přesnost) nebo 64 bitech (dvojitá přesnost). Dané číslo je rozděleno na základ a exponent. Nejlevější bit je vždy znaménkový, následuje 8 bitů pro exponent a zbylých 23 je základ. Na 64 bitech je rozdělení 1, 11, 52.