Kde se používá binární desítková soustava? Reprezentace čísel v binárním kódu. Převod čísel: z binárních na desítkové

Binární desítková číselná soustava. Desetinné číslice 0 až 9 jsou nahrazeny binárními tetradami, které je představují: 0=0000, 1=0001, 2=0010, 3=0011, 4=0100, 5=0101, 6=0110, 7=0111, 8=1000 a 9 = 1001. Tento zápis se velmi často používá jako mezikrok při převodu čísla z desítkové soustavy do dvojkové nebo naopak. Protože 10 není přesná mocnina 2, není použito všech 16 tetrád a algoritmy pro aritmetické operace na víceciferných číslech jsou složitější než v základních číselných soustavách. A přesto se binární desítkový číselný systém používá i na této úrovni v mnoha mikrokalkulátorech a některých počítačích (zejména Yamaha MSX).

Vzhledem k tomu, že reprezentace a aritmetika v desítkové číselné soustavě jsou lidem nejznámější a binární reprezentace a binární aritmetika jsou nejznámější počítačům, byl zaveden kompromisní systém binárně-desetinného zápisu čísel. Tento systém se nejčastěji používá tam, kde je potřeba často používat postup desítkového vstupu/výstupu. (elektronické hodinky, kalkulačky, čísla volajících atd.). V takových zařízeních není vždy vhodné poskytovat univerzální mikrokód pro převod binárních čísel na desítková čísla a naopak z důvodu malého množství programové paměti.

Princip tohoto systému je poměrně jednoduchý: každá desetinná číslice je převedena přímo na svůj 4bitový dekadický ekvivalent, například: 369110=0011 0110 1001 0001DEC:

Desetinné 3 6 9 1 BCD 0011 0110 1001 0001

Převeďme binární desítkové číslo 1000 0000 0111 0010 na jeho desítkový ekvivalent. Každá skupina 4 bitů je převedena na svůj dekadický ekvivalent. Dostaneme 1000 0000 0111 0010DEC = 807210:

BCD 1000 0000 0111 0010 Desetinné 8 0 7 2

Mikroprocesory používají čistá binární čísla, ale rozumí také příkazům pro převod BCD. Výsledná binární desítková čísla jsou snadno reprezentována v desítkovém zápisu, který je pro lidi srozumitelnější.

Převod binárních čísel na BCD

Aritmecko-logická jednotka mikrokontrolérů AVR (ale i jiných mikroprocesorů) provádí elementární aritmetické a logické operace s čísly reprezentovanými v binárním kódu. Výsledky převodu ADC jsou čteny v binárním kódu, výsledky měření je vhodné zpracovávat v binárním kódu (ve formátu celých čísel nebo čísel s pohyblivou řádovou čárkou). Když se však na indikátoru zobrazí konečný výsledek, musí být převeden do lidsky čitelného desítkového formátu.

Tato část pojednává o programech pro převod binárních čísel na BCD.

1. Formáty pro reprezentaci desetinných čísel

V současné době existují dva běžné formáty pro reprezentaci desítkových čísel v mikroprocesorech – sbalená binárně kódovaná desítková soustava (BCD-Binary-Coded Decimal) a rozbalená desítková soustava.

Sbalený BCD kód je reprezentace dekadického čísla, kde každá dekadická číslice je reprezentována 4bitovým binárním pozičním kódem 8-4-2-1. V tomto případě bajt obsahuje dvě desetinné číslice. Nejméně významná desetinná číslice zabírá pravou tetradu (bity 3:0), nejvýznamnější desetinná číslice zabírá levou tetradu (bity 7:4). Vícebitová čísla BCD zabírají několik souvislých bajtů. Pokud je číslo se znaménkem, pak je přiřazena nejvýznamnější tetráda nejvýznamnějšího bajtu, která představuje znaménko ve formátu BCD. Ke kódování znaku lze použít šest vzorů binárního kódu, které se nepoužívají k reprezentaci desetinných číslic. Jedná se o kódy 1010-1111 (A-F v šestnáctkové soustavě). Obvykle se pro zakódování znaménka plus používá kód 1100 (C) a pro znaménko mínus 1101 (D).

Rozbalený dekadický kód je podmnožinou mezinárodní tabulky kódování znaků ASCII (Tabulka 1). Je vidět, že ukládání rozbalených desítkových čísel vyžaduje dvakrát tolik paměti, protože každá číslice je reprezentována 8bitovým kódem. Tabulka 1: ASCII kódy pro desetinné číslice

2. Převeďte 16bitová celá čísla na čísla BCD

www.atmel.com nabízí program "bin2bcd16" pro převod 16bitových binárních celých čísel na zabalená čísla BCD. Tento článek pojednává o programu "bin16bcd5" (viz Příloha, Program 1), který napsal A.V. Tereshkin podle algoritmu popsaného v a který provádí stejný úkol. Druhý program se ukázal být efektivnější než první z hlediska rychlosti, délky kódu a počtu použitých registrů.

Algoritmus programu "bin16bcd5" je následující. Předpokládejme, že máme 16bitové celé číslo bez znaménka (rozsah 0 až 65535). Je zřejmé, že musíte najít 5 desetinných míst. Metodou převodu je odečíst 10 000 od původního čísla a nejprve určit desetinnou číslici desetitisíců. Potom se zjistí počet tisíců postupným odečítáním čísla 1000 atd. Odečítání se provádí pokaždé, dokud se počítáním počtu odečtení nezíská záporný rozdíl. Při přechodu na určení každého dalšího desetinného místa v registrech původního čísla se obnoví poslední kladný rozdíl. Po nalezení desítkové desetinné číslice zůstanou jednotky desetinné číslice v původních číselných registrech.

Program "bin16ASCII5" (viz Příloha, Program 2) převádí 16bitové binární celé číslo na rozbalené dekadické číslo. Je použit stejný algoritmus.

3. Převeďte binární zlomek na BCD

Binární zlomek je podle definice reprezentován následujícím výrazem:

0.A-1A-2 ... A-m = A-1*2-1 + A-2*2-2 + ... A-m*2-m

Z této reprezentace vyplývá transformační algoritmus (obr. 2), který obsahuje m kroků. V každém kroku se k binárně-decimálnímu výsledku přičte další binární číslice a celý výsledek se vydělí 2.

Je zobrazen binární registr, který obsahuje původní binární zlomek a výsledný registr sbalený BCD. V obou registrech je pro přehlednost uvedena i číslice jednotek a pozice bodu, které nejsou v paměti mikroprocesoru nijak zastoupeny, ale jejichž poloha je vždy striktně specifikována. Počet cyklů uvažovaného algoritmu se rovná počtu bitů binárního zlomku. Bitová velikost binárního dekadického registru je určena požadovanou přesností výpočtu.

Přidání této číslice k číslu BCD znamená, že musí být umístěno na jednotkovou číslici čísla BCD, odkud se při následném dělení dvěma číslice A-i přesune na nejvýznamnější číslici nejvýznamnější tetrády desetinného zlomku. . Při programování můžeme uvažovat o umístění desetinných jednotek jako o C carry bitu.

Při dělení sbaleného binárního čísla dvěma se stejně jako při dělení binárního čísla posune o jedno místo doprava. V tomto případě je každá tetráda, tedy každá desetinná číslice, dělena dvěma. Při dělení sudé desetinné číslice na odpovídající místo se opět získá desetinná číslice a není nutná žádná oprava. Při dělení 2 lichou desetinnou číslicí musí být zbytek 5 přidán k dolnímu desetinnému místu, ale ve skutečnosti binární posun přičte číslo 8 (váha nejvýznamnější tetrády) k nižší tetrádě. Proto je nutná korekce výsledku, která spočívá v odečtení čísla 3 od obsahu těch sešitů, které po posunutí doprava mají nastaveny nejvýznamnější číslice.

4. Převod čísel s pohyblivou řádovou čárkou na čísla BCD

Reprezentace čísel s pohyblivou řádovou čárkou je následující:

kde M je binární mantisa čísla, P je binární řád čísla.

Tato reprezentace se často používá v desítkové soustavě k reprezentaci velmi velkých nebo velmi malých čísel. Mantisa a exponent jsou celá čísla se znaménkem. Znak mantisy je znakem celého čísla. Pořadí ukazuje skutečnou polohu bodu namísto polohy, kterou zaujímá na obrázku mantisy. Binární číslo s plovoucí desetinnou čárkou se liší od desetinného čísla, na které jsme zvyklí, tím, že čárka je binární, to znamená, že pořadí udává počet binárních (spíše než desítkových) číslic, o které musí být tato čárka posunuta doleva nebo doprava.

Normalizovaná reprezentace čísla s plovoucí desetinnou čárkou je reprezentace, kde mantisa je vlastní zlomek a její úvodní číslice se liší od nuly. Ale pro binární číslo požadavek, aby se úvodní číslice lišila od nuly, znamená, že tato číslice je rovna 1. Pokud je úvodní číslice přesně známa, nemusí být uložena v paměti.

Koncept smíšené číselné soustavy

Mezi číselnými soustavami existuje třída tzv smíšené číselné soustavy.

Definice 1

Smíšený tomu se říká zápis, ve kterém čísla uvedená v určité číselné soustavě se základem $P$ jsou reprezentována pomocí číslic jiné číselné soustavy se základem $Q$, kde $Q

Navíc v takovém číselném systému, aby se předešlo nesrovnalostem v reprezentaci každé číslice systému se základem $P$, je přidělen stejný počet číslic systému se základem $Q$, dostatečný k reprezentaci jakékoli číslice systému se základem $P$.

Příkladem smíšené číselné soustavy je binárně-desítková soustava.

Praktické zdůvodnění použití binární desítkové číselné soustavy

Protože člověk ve své praxi široce používá systém desítkových čísel a počítač obvykle pracuje s binárními čísly a binární aritmetikou, byla do praxe zavedena kompromisní možnost - binární desítkový systém zápisu, který se obvykle používá tam, kde je potřeba často používat postup desetinného vstupu/výstupu (například elektronické hodinky, kalkulačky atd.). V takových zařízeních není vždy vhodné používat univerzální mikrokód pro převod binárních čísel na desítková a naopak z důvodu malého množství programové paměti.

Poznámka 1

U některých typů počítačů obsahují aritmetické logické jednotky (ALU) speciální desítkové aritmetické jednotky, které provádějí operace s čísly reprezentovanými v binárním desítkovém kódu. To umožňuje v některých případech výrazně zvýšit výkon počítače.

Například automatizovaný systém zpracování dat používá velký počet čísel, ale neprovádí mnoho výpočtů. V takovém případě by operace přenosu čísel z jednoho systému do druhého výrazně překročily dobu potřebnou k provedení operací zpracování informací. Mikroprocesory na druhé straně používají čistá binární čísla, ale rozumí také příkazům pro převod do binárního desítkového zápisu. ALU mikrokontroléru AVR (stejně jako ostatní mikroprocesory) provádí elementární aritmetické a logické operace s čísly reprezentovanými v binárním kódu, a to:

    čte výsledky převodu ADC;

    v celočíselném formátu nebo formátu s plovoucí desetinnou čárkou zpracovává výsledky měření.

Konečný výsledek je však na indikátoru zobrazen v desítkovém formátu, který je vhodný pro lidské vnímání.

Principy konstrukce binárně-dekadické číselné soustavy

Při konstrukci binárně-dekadického číselného systému jsou pro reprezentaci každé desetinné číslice alokovány $4$ binární číslice, protože maximální desetinná číslice $9$ je zakódována jako $10012$.

Například: $925_(10) = 1001 0010 0101_(2-10) $.

Obrázek 1.

V tomto zápisu po sobě jdoucí čtyřnásobky binárních číslic představují číslice $9$, $2$ a $5$ v desítkové soustavě.

Aby bylo možné zapsat číslo v dvojkové soustavě, musí být nejprve reprezentováno v desítkové soustavě a poté musí být každá desetinná číslice obsažená v čísle reprezentována v dvojkové soustavě. K zápisu různých desetinných číslic v binární číselné soustavě je zároveň zapotřebí různého počtu dvojkových číslic. Aby se předešlo použití jakýchkoli oddělovačů, při reprezentaci desetinné číslice v binární podobě se vždy píší 4 binární číslice. Skupina těchto čtyř číslic se nazývá notebook.

Ačkoli zápis BCD používá pouze číslice $0$ a $1$, liší se od binárního vyjádření daného čísla, protože dekadický ekvivalent binárního čísla je několikrát větší než dekadický ekvivalent čísla BCD.

Například:

$1001 0010 0101_{(2)} = 2341_{(10)}$,

$1001 0010 0101_{(2)} = 925_{(2-10)}$.

Tento zápis se poměrně často používá jako mezikrok při převodu čísla z desítkové soustavy do dvojkové a naopak. Protože číslo $10$ není přesná mocnina čísla $2$, nejsou použity všechny tetrády $16$ (tetrady představující čísla od $A$ do $F$ jsou vyřazeny, protože tato čísla jsou považována za zakázaná), ale algoritmy pro aritmetiku operace s vícemístnými čísly v tomto případě složitější než v základních číselných soustavách. A přesto se binární desítkový číselný systém používá i na této úrovni v mnoha mikrokalkulátorech a některých počítačích.

K opravě výsledků aritmetických operací s čísly reprezentovanými v binárním desítkovém kódu používá mikroprocesorová technologie příkazy, které převádějí výsledky operací do systému binárních desítkových čísel. Používá se následující pravidlo: když je výsledkem operace (sčítání nebo odečítání) v tetrádě číslo větší než $9$, přičte se k této tetrádě číslo $6$.

Například: $75+18=$93.

$10001101\(8D)$

V nízkém zápisníku se objevila zakázaná číslice $D$. Přidejte 6 $ k nízké tetrádě a získejte:

$10010011 \ (93)$

Jak můžete vidět, navzdory skutečnosti, že sčítání bylo provedeno v binární číselné soustavě, výsledek operace byl získán v binárně-desítkové číselné soustavě.

Poznámka 2

Bitové vyvažování se často provádí na základě binární desítková číselná soustava. Nejvhodnější je použití binárních a binárně-desítkových číselných soustav, protože v tomto případě je počet vyvažovacích cyklů nejmenší mezi ostatními číselnými soustavami. Všimněte si, že použití binárního kódu nám umožňuje zkrátit dobu zpracování kompenzačního napětí přibližně o $20\%$ ve srovnání s binárně-decimálním kódem.

Výhody použití binární desítkové číselné soustavy

Převod čísel z desítkové soustavy do dvojkové soustavy desítek nezahrnuje výpočty a lze ji snadno implementovat pomocí jednoduchých elektronických obvodů, protože se převádí malý počet (4) binárních číslic. Zpětný převod probíhá automaticky v počítači pomocí speciálního překladového programu.

Použití binárně-desítkové číselné soustavy ve spojení s jednou z hlavních číselných soustav (binární) umožňuje vyvíjet a vytvářet vysoce výkonné počítače, protože použití dekadického aritmetického bloku v ALU eliminuje potřebu programovaného převodu. čísel z jedné číselné soustavy do druhé při řešení úloh.

Protože dvě binární dekadické číslice tvoří bajt $1$, který lze použít k vyjádření hodnot čísel od $0$ do $99$, a nikoli od $0$ do $255$, jako u $8$-bitového binárního čísla, pak pomocí $1$ bajtu pro Převedením každých dvou desetinných číslic můžete tvořit BCD čísla s libovolným počtem desetinných míst.

Příkladem smíšeného číselného systému je binární desítková soustava . V číselném systému BCD jsou pro každou desetinnou číslici přiděleny 4 binární číslice, protože maximální desetinná číslice 9 je kódována jako 1001 2. Například,

925 10 = 1001 0010 0101 2-10 .

Zde po sobě jdoucí čtveřice (tetrady) binárních číslic představují číslice 9, 2 a 5 v desítkové soustavě.

Ačkoli zápis BCD používá pouze číslice 0 a 1, zápis BCD se liší od binární reprezentace daného čísla. Například binární kód 1001 0010 0101 odpovídá desetinnému číslu 2341, nikoli 925.

Pokud P=Q l (l je kladné celé číslo), zobrazení libovolného čísla ve smíšené číselné soustavě se shodně shoduje s obrazem tohoto čísla v číselné soustavě se základem Q. Příklady takové smíšené číselné soustavy jsou binární- osmičkové a binárně-hexadecimální.

Například,

A2 16 = 1010 0010 2 = 1010 0010 2-16

ZOBRAZENÍ ZÁPORNÝCH ČÍSEL VE ​​FORMÁTU PEVNÉHO BODU (TEČKA).

Aby se zjednodušily aritmetické operace, používají počítače speciální binární kódy k reprezentaci záporných čísel: reciproční a doplňkové. Pomocí těchto kódů je zjednodušeno určení znaménka výsledku operace při algebraickém sčítání. Operace odčítání (nebo algebraického sčítání) je redukována na aritmetické sčítání operandů, což usnadňuje rozvíjení známek přetečení bitové mřížky. V důsledku toho jsou počítačová zařízení, která provádějí aritmetické operace, zjednodušena.

Je známo, že jedním ze způsobů, jak provést operaci odčítání, je nahradit znaménko subtrahendu opačným a přidat jej k minuendu:

A – B = A + (- B)

To nahrazuje operaci aritmetického odčítání operací algebraického sčítání, kterou lze provádět pomocí binárních sčítaček.

Pro strojovou reprezentaci záporných čísel se používají kódy přímý, přídavný, zpětný. Zjednodušenou definici těchto kódů lze uvést následovně. Pokud je číslo A v běžném binárním kódu Přímo binární kód, zobrazit jako

[A] pr = 0.an an-1 an-2.....a1 a0,

pak je číslo -A ve stejném kódu reprezentováno jako

[-A]pr = 1.an an-1 an-2.....a1 a0,

a dovnitř zvrátit(inverzní) kód toto číslo bude vypadat takto:

[-A]ot = 1.an an-1 an-2.....a1 a0,

ai = 1, pokud ai = 0,

ai = 0, pokud ai = 1,

A vykopal jsem to i-ta číslice binárního čísla. V důsledku toho jsou při přechodu z přímého kódu na zpětný kód všechny číslice Matisse čísel převráceny.

Pak číslo -A in další kód je reprezentován jako

[-A]sčítat = [-A]ot + 1

Chcete-li tedy získat doplňkový kód záporných čísel, musíte nejprve převrátit digitální část původního čísla, což má za následek jeho obrácený kód, a poté přidat jedničku k nejméně významné číslici digitální části čísla.

Doplňkový kód určitého čísla se získá jeho nahrazením novým číslem, komplementární na číslo rovnající se váze číslice následující za nejvýznamnější číslicí bitové mřížky používané k reprezentaci mantisy čísla ve formátu s pevnou čárkou. Proto se takový číselný kód nazývá doplňkový.

Představme si, že máme pouze dvě číslice pro vyjádření čísel v desítkové číselné soustavě. Potom bude maximální číslo, které lze zobrazit, 99 a váha třetí neexistující nejvyšší číslice bude 10 2, tzn. 100. V tomto případě pro číslo 20 bude doplňkové číslo 80, které doplňuje 20 až 100 (100 - 20 = 80). Proto z definice, odčítání

lze nahradit přidáním:

Zde nejvyšší jednotka přesahuje přidělenou bitovou mřížku, ve které zůstává pouze číslo 30, tzn. Výsledek odečtení čísla 20 od 50.

Nyní se podívejme na podobný příklad pro čísla reprezentovaná ve 4bitovém binárním kódu. Najdeme doplňkové číslo pro 0010 2 = 210. Potřebujeme odečíst 0010 od 0000, dostaneme 1110, což je doplňkový kód 2. Číslice uvedená v hranatých závorkách ve skutečnosti neexistuje. Ale protože máme 4bitovou mřížku, je v zásadě nemožné takové odčítání provést a ještě více se snažíme odčítání zbavit. Dodatečný číselný kód se tedy získá způsobem popsaným dříve, tzn. nejprve získají reverzní kód čísla a pak k němu přidají 1, když to všechno udělali s naším číslem (2), je snadné vidět, že dostaneme podobnou odpověď.

Zdůrazněme to Kódy dvojkového doplňku a dvojkového doplňku se používají pouze k reprezentaci záporných binárních čísel ve formě s pevnou čárkou. Kladná čísla v těchto kódech nemění svůj obraz a jsou znázorněna jako v přímém kódu.

Takže digitální číslice záporného čísla v přímý kód zůstávají nezměněny a jedna je napsána ve znakové části.

Podívejme se na jednoduché příklady.

Sedm v přímém kódu je reprezentováno takto:

pr = 0,0001112

Číslo -7 v přímém kódu:

[-7]pr = 1,0001112,

a v obráceném kódu to bude vypadat

[-7]ot = 1,1110002,

těch. jedničky jsou nahrazeny nulami a nuly jedničkami. Stejné číslo ve dvojkovém doplňku by bylo:

[-7]add = 1,1110012.

Uvažujme ještě jednou, jak je procedura odčítání, využívající reprezentace subtrahendu v kódu dvojkového doplňku, redukována na proceduru sčítání. Odečtěte číslo 7 od 10: 10 - 7 = 3. Pokud jsou oba operandy uvedeny v přímém kódu, postup odečítání se provede následovně:

-1.000111

A pokud je subtrahendable, tzn. -7, prezentovaný v kódu dvojího doplňku, pak se postup odčítání redukuje na postup sčítání:

+ 1.111001

1 0.000011 = 310.

V dnešní době počítače obvykle používají dvojkový doplňkový kód k reprezentaci záporných čísel ve formátu s pevnou čárkou.

Forma reprezentace čísel v digitálních strojích je soubor pravidel, která umožňují stanovit vzájemný soulad mezi záznamem čísla a jeho kvantitativním ekvivalentem.

Strojový (automatický) obraz čísla je to tam reprezentace čísla v bitové mřížce digitálního stroje. Symbol pro strojový obraz čísla, například A, bude reprezentován jako [A].

Kvůli omezené délce strojových slov je množina čísel, která mohou být ve stroji reprezentována, konečná. Srovnání mezi různými formami reprezentace čísel v počítačích se obvykle provádí na základě odhadu rozsah a přesnost reprezentace čísel.

V každodenní praxi je nejběžnější forma reprezentace čísel jako posloupnost číslic oddělených čárkou na celé číslo a zlomkové části. Čísla v tomto tvaru se nazývají čísla s přirozenou čárkou nebo čísly v přirozeném tvaru. V přirozeném tvaru se číslo zapisuje v přirozeném tvaru, například 12560 je celé číslo, 0,003572 je vlastní zlomek, 4,89760 je nevlastní zlomek.

Při reprezentaci čísel v této podobě je nutné, aby každé číslo udávalo pozici jeho čárky v bitové mřížce přidělené k reprezentaci čísla ve stroji, což vyžaduje dodatečné hardwarové náklady v poměrně velké výši. Proto se v počítačích rozšířily další dvě formy reprezentace: s pevnou a plovoucí desetinnou čárkou (tečkou).

Polohu čárky není třeba uvádět, pokud je místo čárky v bitové mřížce stroje předem jednou provždy pevně dané. Tato forma reprezentace čísel se nazývá reprezentace s pevná čárka (tečka).

Protože čísla mohou být kladná a záporná, je formát (bitová mřížka) obrazu stroje rozdělen na ikonická část A číselné pole. Pole čísla obsahuje obrázek samotného čísla, kterému budeme konvenčně říkat mantisačísla. Pro kódování znaménka čísla se použije nejvýznamnější číslice bitové mřížky vyhrazená pro obraz binárního čísla a zbývající číslice jsou přiděleny mantise čísla. Pozice čárky v bitové mřížce je přísně pevná, obvykle buď vpravo od nejnižší číslice mantisy, nebo vlevo od nejvyšší. V prvním případě je číslo reprezentováno jako celé číslo, ve druhém - jako správný zlomek. V dnešní době převážná většina počítačů představuje celá čísla ve formátu s pevnou řádovou čárkou.

Část znaménka obsahuje informace o znaménku čísla. Přijímá se, že znamení kladné číslo "+" reprezentovaný symbolem 0, a znaménko je záporné číslo "-" reprezentovaný symbolem 1.

Například v binárním kódu pomocí 6bitové mřížky může být číslo 7 ve formě s pevnou čárkou reprezentováno jako:

kde číslice nalevo od tečky je znakem čísla a pět číslic napravo od tečky je mantisa čísla v přímém kódu. Tím je míněno toto čárka je umístěna vpravo od nejméně významné číslice a bod na obrázku čísla v tomto případě jednoduše odděluje znaménkový bit od mantisy čísla.

V budoucnu bude tento typ reprezentace čísla ve strojové podobě často používán v příkladech. Můžete použít jinou formu reprezentace čísla ve strojovém tvaru:

kde znaménkový bit je oddělen hranatými závorkami.

Počet číslic v bitové mřížce přidělených k reprezentaci mantisy čísla určuje rozsah a přesnost reprezentace čísla s pevnou řádovou čárkou. Maximální binární číslo v absolutní hodnotě je reprezentováno jedničkami ve všech číslicích, kromě znaménka jedna, tzn. pro celé číslo

|A|max = (2 (n -1) - 1),

Kde n- celková délka bitové mřížky. V případě 16bitové mřížky

|A| max = (2 (16-1) - 1) = 32767 10,

těch. Rozsah reprezentace celého čísla bude v tomto případě od +3276710 do -3276710.

Pro případ, kdy je čárka fixována vpravo od číslice nižšího řádu mantisy, tzn. pro celá čísla, čísla, jejichž modul je větší než

(2(n-1) - 1) a méně než jedna nejsou znázorněny ve formě s pevnou čárkou. Čísla, jejichž absolutní hodnota je menší než jedna z nejméně významných číslic bitové mřížky, se v tomto případě nazývají strojová nula. Záporná nula je zakázána.

V některých případech, kdy je možné pracovat pouze s moduly čísel, je celá bitová mřížka včetně nejvýznamnějšího bitu přiřazena k reprezentaci čísla, což umožňuje rozšířit rozsah reprezentace čísel.

Binární desítková číselná soustava

Systém binárních desítkových čísel se v moderních počítačích rozšířil díky snadnému převodu na desítkovou soustavu a naopak. Používá se tam, kde se nehledí hlavně na jednoduchost technické konstrukce stroje, ale na pohodlí uživatele. V tomto číselném systému jsou všechny desetinné číslice odděleně kódovány čtyřmi binárními číslicemi a v této podobě jsou zapisovány postupně jedna za druhou.

Binární desítková soustava není ekonomická z hlediska realizace technické konstrukce stroje (požadované vybavení se zvyšuje asi o 20 %), ale je velmi pohodlná při přípravě úloh a programování. V binární desítkové číselné soustavě je základem číselné soustavy číslo 10, ale každá desítková číslice (0, 1, ..., 9) je reprezentována, tedy zakódována, dvojkovými číslicemi. Čtyři binární číslice představují jednu desetinnou číslici. Zde samozřejmě existuje redundance, protože 4 binární číslice (nebo binární tetráda) mohou představovat ne 10, ale 16 čísel, ale to je již výrobní náklad kvůli pohodlí programování. Existuje řada binárně kódovaných desítkových systémů pro reprezentaci čísel, vyznačujících se tím, že určitým kombinacím nul a jedniček v rámci jedné tetrády jsou přiřazeny určité hodnoty desetinných číslic.
Publikováno na ref.rf
V nejběžněji používaném přirozeném binárně kódovaném desítkovém číselném systému jsou váhy binárních číslic v rámci tetrád přirozené, tj. 8, 4, 2, 1 (tabulka 6).

Tabulka 6

Binární desítkový zápis

Například desetinné číslo 5673 v zápisu BCD je 01010110011100011.

Převod čísel z jedné číselné soustavy do druhé je důležitou součástí strojové aritmetiky. Podívejme se na základní pravidla překladu.

1. Chcete-li převést binární číslo na desítkové číslo, je nutné napsat ᴇᴦο jako polynom sestávající ze součinů číslic čísla a odpovídající mocniny 2 a vypočítat podle pravidel desítkové aritmetiky˸

Při překladu je vhodné použít tabulku mocnin dvou˸

Tabulka 7.

Síly čísla 2

n (stupeň)

Příklad. Převeďte číslo do desítkové soustavy čísel.

2. Pro převod osmičkového čísla na desítkové je nutné napsat ᴇᴦο jako polynom sestávající ze součinů číslic čísla a odpovídající mocniny čísla 8 a počítat podle pravidel desítkové aritmetiky˸

Při překladu je vhodné použít tabulku mocnin osmi˸

Tabulka 8.

Mocniny čísla 8

n (stupeň)
8n

Binární desítková číselná soustava - pojem a typy. Klasifikace a vlastnosti kategorie "Soustava binárních desítek" 2015, 2017-2018.

Tento systém má základ S = 10, ale každá číslice je reprezentována čtyřbitovým binárním číslem nazývaným tetráda. Obvykle se tento číselný systém používá v počítačích při zadávání a výstupu informací. V některých typech počítačů však ALU obsahuje speciální dekadické aritmetické bloky, které provádějí operace s čísly v binárním desítkovém kódu. To umožňuje v některých případech výrazně zvýšit výkon počítače.

Například v automatizovaném systému zpracování dat existuje mnoho čísel, ale málo výpočtů. V tomto případě by operace spojené s přenosem čísel z jednoho systému do druhého výrazně překročily dobu potřebnou k provedení operací zpracování informací.

Převod čísel z desítkové soustavy do BCD je velmi jednoduchý a spočívá v nahrazení každé číslice binární tetrádou.

Příklad.

V binární desítkové číselné soustavě zapište desetinné číslo 572,38 (10).

Opačný překlad je také jednoduchý: musíte rozdělit binárně-desítkové číslo na tetrády od bodu doleva (pro celočíselnou část) a doprava (pro zlomkovou část), přidat požadovaný počet nevýznamných nul a pak zapište každou tetrádu jako desetinnou číslici.

Příklad.

V desítkové soustavě zapište binární desítkové číslo 10010,010101 (2-10).

Převod čísel z BCD do dvojkové soustavy se provádí podle obecných pravidel popsaných výše.

2.3. Osmičková číselná soustava

V osmičkové číselné soustavě se používá pouze osm číslic, tzn. tato číselná soustava má základ S = 8. Obecně osmičkové číslo vypadá takto:

Kde
.

Na rozdíl od dvojkové soustavy počítač nepotřebuje osmičkovou číselnou soustavu. Je vhodný jako kompaktní forma zápisu čísel a je využíván programátory (např. v programových textech pro výstižnější a pohodlnější způsob zápisu binárních kódů příkazů, adres a operandů). V osmičkovém číselném systému je váha každé číslice násobkem osmi nebo jedné osminy, takže osmibitové binární číslo umožňuje vyjádřit desetinné hodnoty v rozsahu 0-255 a osmičkové číslo pokrývá rozsah 0 -99999999 (pro binární je to 27 číslic).

Protože 8=2 3, každý osmičkový znak může být reprezentován jako tříbitové binární číslo. Chcete-li převést číslo z binární číselné soustavy na osmičkovou číselnou soustavu, musíte toto číslo rozdělit nalevo (pro celočíselnou část) a napravo (pro zlomkovou část) od tečky (čárka) do skupin po třech. číslice (triády) a představují každou skupinu s číslem v osmičkové číselné soustavě. Krajní neúplné trojice jsou doplněny potřebným počtem nevýznamných nul.

Příklad.

Zapište binární číslo 10101011111101 (2) v osmičkové soustavě.

Příklad.

Zapište binární číslo 1011.0101 (2) v osmičkové soustavě.

Převod z osmičkového na binární se provádí reprezentací každé číslice osmičkového čísla jako trojciferného binárního čísla (triády).

2.4. Hexadecimální číselná soustava

Tato číselná soustava má základ S = 16. Obecně šestnáctkové číslo vypadá takto:

Kde
.

Hexadecimální číselná soustava umožňuje psát vícebitová binární čísla ještě stručněji a navíc zkrátit zápis 4bitového binárního čísla, tzn. okusovat, protože 16=2 4 . Hexadecimální systém se také používá v programových textech pro stručnější a pohodlnější záznam binárních čísel.

Chcete-li převést číslo z binární číselné soustavy na šestnáctkovou, musíte toto číslo nalevo a napravo od bodu rozdělit na tetrády a reprezentovat každou tetrádu číslicí v šestnáctkové číselné soustavě.

Příklad.

Zapište binární číslo 10101011111101 (2) v šestnáctkové soustavě.

Příklad.

Zapište binární číslo 11101.01111 (2) v šestnáctkové soustavě.

Pro převod čísla z hexadecimální číselné soustavy do binární číselné soustavy je naopak nutné každou číslici tohoto čísla nahradit tetrádou.

Na závěr je třeba poznamenat, že přenos libovolných čísel z jedné číselné soustavy do druhé lze provádět podle obecných pravidel popsaných v části „Soustava binárních čísel“. V praxi se však překlady čísel z desítkové soustavy do uvažovaných číselných soustav a naopak provádějí prostřednictvím dvojkové číselné soustavy.

Pamatujte také, že hexadecimální a osmičková čísla představují pouze způsob reprezentace velkých binárních čísel, se kterými procesor skutečně pracuje. V tomto případě je výhodnější hexadecimální systém, protože v moderních počítačích procesory manipulují se slovy o délce 4, 8, 16, 32 nebo 64 bitů, tzn. délka slov je násobkem 4. V osmičkovém číselném systému jsou preferována slova, která jsou násobky 3 bitů, například slova o délce 12 bitů (jako v PDP-8 od DEC).