Přímý kód

Přímý kód  je způsob reprezentace binárních čísel s pevnou řádovou čárkou v počítačové aritmetice . Používá se hlavně k zápisu nezáporných čísel . V případě použití přímého kódu pro čísla, kladná i záporná, tedy čísla, jejichž zápis implikuje možnost použití znaménka (čísla se znaménkem), jsou uložené číslicové bity čísla doplněny znaménkovým bitem .

V anglické literatuře se nazývá metoda Sign and magnitude .

Reprezentace podepsaného čísla v přímém kódu

Při zápisu čísla v přímém kódu je nejvýznamnější bit (nejvýznamnější bit) deklarován jako znaménkový bit (znaménkový bit). Pokud je znaménkový bit 0, je číslo kladné , v opačném případě záporné . Ve zbývajících číslicích (které se nazývají digitální číslice ) je zapsána binární reprezentace modulu čísla.

Funkce kódování pro binární čísla (včetně celých čísel a smíšených zlomků) v přímém kódu je:

kde  je číslo bitu znaménka (bitu znaménka). Zejména při kódování správných binárních zlomků (tj. čísel, která splňují nerovnost ) a kódovací funkce má tvar:

Hodnota čísla v přímém kódu je určena následujícím vzorcem:

kde:

Jak je vidět z posledního vzorce, znaménkový bit v přímém kódu nemá bitovou váhu. Při provádění aritmetických operací to vede k nutnosti samostatného zpracování znaménkového bitu v přímém kódu.

Příklady

Desetinné číslo binární číslo Přímý 8bitový binární kód Poznámka
0 0 0000 0000 kladná nula
-0 -0 1 000 0000 záporná nula
5 101 0000 0101
deset 1010 0000 1010
-5 -101 1000 0101
-16 -10 000 1001 0000
16. září 0,1001 0,100 1000
-9/16 -0,1001 1,100 1000
105/128 0,1101001 0,110 1001
-5/128 -0,0000101 1 000 0101

Aplikace s přímým kódem

V informatice se přímý kód používá hlavně k zápisu nezáporných celých čísel. Lze jej snadno získat z reprezentace celého čísla v jakékoli jiné číselné soustavě . K tomu stačí převést číslo do binární číselné soustavy a poté doplnit volné číslice bitové mřížky stroje nulami.

Při použití pro podepsaná čísla má však přímý kód dvě nevýhody.

Provádění aritmetických operací s čísly v přímém kódu je obtížné: například i pro sčítání čísel s různými znaménky je kromě sčítačky nutné mít speciální blok „ odčítač “, jehož implementační složitost je stejná. jako u konvenční sčítačky . Navíc při provádění aritmetických operací vyžaduje bit se znaménkem zvláštní zacházení, protože nemá žádnou váhu. Vyžaduje také zpracování "záporné nuly". Provádění aritmetických operací na číslech se znaménkem v přímém kódu tedy bude vyžadovat složitější architekturu CPU a je obecně neefektivní.

Mnohem pohodlnější pro provádění aritmetických operací je kód dvojkového doplňku .

Rozsah

-bitový přímý kód ( digitální bity a jeden znak) umožňuje reprezentovat celá čísla v rozsahu .

-bitový přímý kód ( digitální bity a jeden znak) umožňuje reprezentovat správné binární zlomky v rozsahu .

Viz také

Poznámky

Literatura