Kde sa používa dvojková desiatková sústava? Reprezentácia čísel v binárnom kóde. Prevod čísel: z binárnych na desiatkové

Binárny desiatkový číselný systém. Desatinné číslice 0 až 9 sú nahradené binárnymi tetrádami, ktoré ich reprezentujú: 0=0000, 1=0001, 2=0010, 3=0011, 4=0100, 5=0101, 6=0110, 7=0111, 8=100 a 9 = 1001. Tento zápis sa veľmi často používa ako medzikrok pri prevode čísla z desiatkovej sústavy do dvojkovej alebo naopak. Keďže 10 nie je presná mocnina 2, nepoužíva sa všetkých 16 tetrád a algoritmy na aritmetické operácie s viaccifernými číslami sú zložitejšie ako v základných číselných sústavách. Napriek tomu sa systém binárnych desiatkových čísel používa aj na tejto úrovni v mnohých mikrokalkulátoroch a niektorých počítačoch (najmä Yamaha MSX).

Keďže reprezentácia a aritmetika v sústave desiatkových čísel sú ľuďom najznámejšie a binárna reprezentácia a binárna aritmetika sú najznámejšie počítačom, bol zavedený kompromisný systém binárno-desiatkového zápisu čísel. Tento systém sa najčastejšie používa tam, kde je potrebné často používať postup desiatkového vstupu/výstupu. (elektronické hodinky, kalkulačky, čísla volajúcich atď.). V takýchto zariadeniach nie je vždy vhodné poskytnúť univerzálny mikrokód na prevod binárnych čísel na desiatkové čísla a naopak z dôvodu malého množstva programovej pamäte.

Princíp tohto systému je pomerne jednoduchý: každá desatinná číslica sa konvertuje priamo na jej 4-bitový desatinný ekvivalent, napríklad: 369110=0011 0110 1001 0001DEC:

Desatinné 3 6 9 1 BCD 0011 0110 1001 0001

Preveďme binárne desatinné číslo 1000 0000 0111 0010 na jeho desatinný ekvivalent. Každá skupina 4 bitov sa konvertuje na svoj desatinný ekvivalent. Dostaneme 1 000 0000 0111 0010 DEC = 807 210:

BCD 1000 0000 0111 0010 Desatinné 8 0 7 2

Mikroprocesory používajú čisté binárne čísla, ale rozumejú aj príkazom na konverziu BCD. Výsledné binárne desiatkové čísla sú ľahko znázornené v desiatkovom zápise, ktorý je pre ľudí zrozumiteľnejší.

Konverzia binárnych čísel na BCD

Aritmeticko-logická jednotka mikrokontrolérov AVR (ale aj iných mikroprocesorov) vykonáva elementárne aritmetické a logické operácie s číslami reprezentovanými v binárnom kóde. Výsledky ADC prevodu sa čítajú v binárnom kóde, výsledky merania je vhodné spracovávať v binárnom kóde (vo formáte celých čísel alebo čísel s pohyblivou rádovou čiarkou). Keď sa však na indikátore zobrazí konečný výsledok, musí sa previesť do desiatkového formátu, ktorý je čitateľný pre ľudí.

Táto časť sa zaoberá programami na konverziu binárnych čísel na BCD.

1. Formáty na vyjadrenie desatinných čísel

V súčasnosti existujú dva bežné formáty na reprezentáciu desiatkových čísel v mikroprocesoroch – zbalený binárne kódovaný desiatkový (BCD-Binary-Coded Decimal) a rozbalený desiatkový kód.

Zbalený BCD kód je reprezentácia desiatkového čísla, kde každá desiatková číslica je reprezentovaná 4-bitovým binárnym pozičným kódom 8-4-2-1. V tomto prípade bajt obsahuje dve desatinné číslice. Najnižšia platná desatinná číslica zaberá pravú tetrádu (bity 3: 0), najvýznamnejšia desatinná číslica zaberá ľavú tetrádu (bity 7: 4). Viacbitové čísla BCD zaberajú niekoľko súvislých bajtov. Ak je číslo so znamienkom, potom sa pridelí najvýznamnejšia tetráda najvýznamnejšieho bajtu, ktorá predstavuje znamienko vo formáte BCD. Na zakódovanie znaku je možné použiť šesť vzorov binárneho kódu, ktoré sa nepoužívajú na reprezentáciu desatinných číslic. Ide o kódy 1010-1111 (A-F v šestnástkovej sústave). Zvyčajne sa kód 1100 (C) používa na zakódovanie znamienka plus a 1101 (D) na znamienko mínus.

Rozbalený desiatkový kód je podmnožinou medzinárodnej tabuľky kódovania znakov ASCII (tabuľka 1). Je zrejmé, že ukladanie rozbalených desiatkových čísel vyžaduje dvakrát toľko pamäte, pretože každá číslica je reprezentovaná 8-bitovým kódom. Tabuľka 1: ASCII kódy pre desatinné číslice

2. Preveďte 16-bitové celé čísla na čísla BCD

www.atmel.com ponúka program "bin2bcd16" na prevod 16-bitových binárnych celých čísel na zbalené čísla BCD. Tento článok pojednáva o programe "bin16bcd5" (pozri prílohu, Program 1), ktorý napísal A.V. Tereshkin podľa algoritmu načrtnutého v a ktorý vykonáva rovnakú úlohu. Posledný program sa ukázal byť efektívnejší ako prvý z hľadiska rýchlosti, dĺžky kódu a počtu použitých registrov.

Algoritmus programu "bin16bcd5" je nasledujúci. Predpokladajme, že máme 16-bitové celé číslo bez znamienka (rozsah 0 až 65535). Je zrejmé, že musíte nájsť 5 desatinných miest. Metódou prevodu je odpočítať 10 000 od pôvodného čísla a najprv určiť desatinnú číslicu desiatok tisíc. Potom sa počet tisícok nájde postupným odčítaním čísla 1000 atď. Odčítanie sa vykonáva zakaždým, kým sa spočítaním počtu odčítaní nezíska záporný rozdiel. Pri prechode na určenie každého ďalšieho desatinného miesta v registroch pôvodného čísla sa obnoví posledný kladný rozdiel. Po nájdení desiatkovej desatinnej číslice zostanú v pôvodných číselných registroch jednotky desiatkovej číslice.

Program "bin16ASCII5" (pozri Príloha, Program 2) konvertuje 16-bitové binárne celé číslo na rozbalené desiatkové číslo. Používa sa rovnaký algoritmus.

3. Preveďte binárny zlomok na BCD

Binárny zlomok je podľa definície reprezentovaný nasledujúcim výrazom:

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

Z tohto znázornenia vyplýva transformačný algoritmus (obr. 2), ktorý obsahuje m krokov. V každom kroku sa k binárno-desiatkovému výsledku pridá ďalšia binárna číslica a celý výsledok sa vydelí 2.

Zobrazený je binárny register, ktorý obsahuje pôvodný binárny zlomok a BCD zbalený register výsledkov. Pre prehľadnosť je v oboch registroch zobrazená aj číslica jednotiek a poloha bodu, ktoré nie sú v pamäti mikroprocesora nijako zastúpené, ale ktorých poloha je vždy striktne špecifikovaná. Počet cyklov uvažovaného algoritmu sa rovná počtu bitov binárneho zlomku. Bitová veľkosť binárneho desiatkového registra je určená požadovanou presnosťou výpočtu.

Pridanie tejto číslice k číslu BCD znamená, že sa musí umiestniť na jednotkovú číslicu čísla BCD, odkiaľ sa po následnom delení dvomi číslica A-i posunie na najvýznamnejšiu číslicu najvýznamnejšej tetrády desatinného zlomku. . Pri programovaní môžeme uvažovať o umiestnení desatinných jednotiek ako o prenosovom bite C.

Pri delení zbaleného binárneho čísla dvomi sa rovnako ako pri delení binárneho čísla posunie o jedno miesto doprava. V tomto prípade je každá tetráda, teda každá desatinná číslica, delená dvomi. Pri delení párnej desatinnej číslice na zodpovedajúcom mieste sa opäť získa desatinná číslica a nie je potrebná žiadna oprava. Pri delení nepárneho desatinného miesta číslom 2 je potrebné pridať zvyšok 5 ​​na dolné desatinné miesto, ale v skutočnosti binárny posun pripočítava číslo 8 (váha najvýznamnejšej tetrády) k dolnej tetráde. Preto je potrebná oprava výsledku, ktorá spočíva v odčítaní čísla 3 od obsahu tých zošitov, ktoré po posunutí doprava majú nastavené najpodstatnejšie číslice.

4. Konverzia čísel s pohyblivou rádovou čiarkou na čísla BCD

Znázornenie čísel s pohyblivou rádovou čiarkou je nasledovné:

kde M je binárna mantisa čísla, P je binárne poradie čísla.

Táto reprezentácia sa často používa v systéme desiatkových čísel na reprezentáciu veľmi veľkých alebo veľmi malých čísel. Mantisa a exponent sú celé čísla so znamienkom. Znak mantisy je znakom celého čísla. Poradie zobrazuje skutočnú polohu bodu namiesto polohy, ktorú zaujíma na obrázku mantisy. Binárne číslo s pohyblivou rádovou čiarkou sa líši od desiatkového čísla, na ktoré sme zvyknutí, v tom, že bodka je binárna, to znamená, že poradie udáva počet binárnych (a nie desiatkových) číslic, o ktoré sa táto bodka musí posunúť doľava alebo doprava.

Normalizovaná reprezentácia čísla s pohyblivou rádovou čiarkou je reprezentácia, kde mantisa je vlastný zlomok a jej vodiaca číslica je iná ako nula. Ale pre binárne číslo požiadavka, aby sa úvodná číslica líšila od nuly, znamená, že táto číslica sa rovná 1. Ak je úvodná číslica presne známa, nemusí byť uložená v pamäti.

Koncept zmiešaného číselného systému

Medzi číselnými sústavami existuje trieda tzv zmiešané číselné sústavy.

Definícia 1

Zmiešané volá sa to takto notový zápis, v ktorom sú čísla uvedené v určitej číselnej sústave so základom $P$ reprezentované pomocou číslic inej číselnej sústavy so základom $Q$, kde $Q

Navyše, v takejto číselnej sústave, aby sa predišlo nezrovnalostiam v reprezentácii každej číslice sústavy so základom $P$, je pridelený rovnaký počet číslic sústavy so základom $Q$, dostatočný na to, aby reprezentoval akúkoľvek číslica systému so základom $P$.

Príkladom zmiešaného číselného systému je binárno-desiatkový systém.

Praktické zdôvodnenie používania dvojkovej sústavy desiatkových čísel

Keďže človek vo svojej praxi bežne používa systém desiatkových čísel a počítač zvyčajne pracuje s binárnymi číslami a binárnou aritmetikou, do praxe bola zavedená kompromisná možnosť - binárny desiatkový systém zápisu, ktorý sa zvyčajne používa tam, kde je potrebné často používať postup desiatkového vstupu/výstupu (napríklad elektronické hodinky, kalkulačky atď.). V takýchto zariadeniach nie je vždy vhodné používať univerzálny mikrokód na prevod binárnych čísel na desiatkové čísla a naopak z dôvodu malého množstva programovej pamäte.

Poznámka 1

V niektorých typoch počítačov obsahujú aritmetické logické jednotky (ALU) špeciálne desiatkové aritmetické jednotky, ktoré vykonávajú operácie s číslami reprezentovanými v binárnom desiatkovom kóde. To umožňuje v niektorých prípadoch výrazne zvýšiť výkon počítača.

Napríklad automatizovaný systém spracovania údajov používa veľké množstvo čísel, ale nevykonáva veľa výpočtov. V takom prípade by operácie prenosu čísel z jedného systému do druhého výrazne prekročili čas potrebný na vykonanie operácií spracovania informácií. Mikroprocesory na druhej strane používajú čisté binárne čísla, ale rozumejú aj príkazom na prevod do binárneho desiatkového zápisu. ALU mikrokontroléra AVR (ako aj iné mikroprocesory) vykonáva elementárne aritmetické a logické operácie s číslami reprezentovanými v binárnom kóde, a to:

    číta výsledky konverzie ADC;

    v celočíselnom formáte alebo formáte s pohyblivou rádovou čiarkou spracováva výsledky meraní.

Konečný výsledok sa však na indikátore zobrazí v desiatkovom formáte, ktorý je vhodný pre ľudské vnímanie.

Princípy konštrukcie binárno-desiatkovej číselnej sústavy

Pri konštrukcii binárno-desiatkového číselného systému sa prideľujú $4$ binárne číslice, ktoré reprezentujú každú desatinnú číslicu, pretože maximálna desatinná číslica $9$ je zakódovaná ako $10012$.

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

Obrázok 1.

V tomto zápise po sebe idúce štvorice binárnych číslic predstavujú číslice $9$, $2$ a $5$ v desiatkovom zápise.

Ak chcete zapísať číslo v binárno-desiatkovej sústave, musí byť najprv zastúpené v desiatkovej sústave a potom každá desatinná číslica zahrnutá v čísle musí byť reprezentovaná v dvojkovej sústave. Zároveň sú potrebné rôzne počty dvojkových číslic na zápis rôznych desatinných číslic v dvojkovej číselnej sústave. Aby sa predišlo použitiu akýchkoľvek oddeľovačov, pri reprezentácii desatinnej číslice v binárnom kóde sa vždy píšu 4 binárne číslice. Skupina týchto štyroch číslic sa nazýva notebook.

Hoci zápis BCD používa iba číslice $0$ a $1$, líši sa od binárneho vyjadrenia daného čísla, pretože desiatkový ekvivalent binárneho čísla je niekoľkonásobne väčší ako desiatkový ekvivalent BCD čísla.

Napríklad:

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

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

Tento zápis sa pomerne často používa ako medzikrok pri prevode čísla z desiatkovej sústavy do dvojkovej a naopak. Keďže číslo $10$ nie je presnou mocninou čísla $2$, nepoužívajú sa všetky tetrády $16$ (tetrady predstavujúce čísla od $A$ do $F$ sú vyradené, pretože tieto čísla sa považujú za zakázané), ale algoritmy pre aritmetiku operácie na viacciferných číslach v tomto prípade zložitejšie ako v základných číselných sústavách. Napriek tomu sa systém binárnych desiatkových čísel používa aj na tejto úrovni v mnohých mikrokalkulátoroch a niektorých počítačoch.

Na opravu výsledkov aritmetických operácií s číslami reprezentovanými v binárnom desiatkovom kóde používa mikroprocesorová technológia príkazy, ktoré konvertujú výsledky operácií do systému binárnych desiatkových čísel. Používa sa nasledujúce pravidlo: keď sa ako výsledok operácie (sčítania alebo odčítania) v tetráde získa číslo väčšie ako $9$, k tejto tetráde sa pripočíta číslo $6$.

Napríklad: 75 + 18 = 93 USD.

$10001101\(8D)$

V nízkom zápisníku sa objavila zakázaná číslica $D$. Pridajte 6 $ k nízkej tetráde a získajte:

$10010011 \ (93)$

Ako vidíte, napriek skutočnosti, že sčítanie bolo vykonané v binárnom číselnom systéme, výsledok operácie bol získaný v binárno-desiatkovom systéme.

Poznámka 2

Bitové vyváženie sa často vykonáva na základe binárna desiatková číselná sústava. Najvhodnejšie je použitie binárnych a dvoj-desiatkových číselných sústav, pretože v tomto prípade je počet vyrovnávacích cyklov spomedzi ostatných číselných sústav najmenší. Všimnite si, že použitie binárneho kódu nám umožňuje skrátiť čas spracovania kompenzačného napätia o približne $20\%$ v porovnaní s binárno-desiatkovým kódom.

Výhody použitia binárnej desiatkovej číselnej sústavy

Prevod čísiel z desiatkovej sústavy do dvojkovo-desiatkovej sústavy nezahŕňa výpočty a je ľahko realizovateľný pomocou jednoduchých elektronických obvodov, pretože sa konvertuje malý počet (4) binárnych číslic. K spätnej konverzii dochádza automaticky v počítači pomocou špeciálneho prekladateľského programu.

Použitie binárno-desiatkového číselného systému v spojení s jedným z hlavných číselných systémov (binárny) umožňuje vyvíjať a vytvárať vysokovýkonné počítače, pretože použitie desiatkového aritmetického bloku v ALU eliminuje potrebu programovanej konverzie. čísel z jednej číselnej sústavy do druhej pri riešení úloh.

Keďže dve binárne desiatkové číslice tvoria bajt $1$, ktorý možno použiť na reprezentáciu hodnôt čísel od $0$ do $99$, a nie od $0$ do $255$, ako v prípade 8$-bitového binárneho čísla, potom pomocou bajtu $1$ pre Prevedením každých dvoch desatinných miest môžete vytvárať čísla BCD s ľubovoľným počtom desatinných miest.

Príkladom zmiešaného číselného systému je binárna desiatková sústava . V číselnom systéme BCD sú pre každú desatinnú číslicu priradené 4 binárne číslice, pretože maximálna desatinná číslica 9 je kódovaná ako 1001 2. Napríklad,

925 10 = 1001 0010 0101 2-10 .

Tu po sebe idúce štvorice (tetrády) binárnych číslic predstavujú číslice 9, 2 a 5 v desiatkovej sústave.

Hoci zápis BCD používa iba číslice 0 a 1, zápis BCD sa líši od binárneho vyjadrenia daného čísla. Napríklad binárny kód 1001 0010 0101 zodpovedá desatinnému číslu 2341, nie 925.

Ak P=Q l (l je kladné celé číslo), zobrazenie ľubovoľného čísla v zmiešanej číselnej sústave sa identicky zhoduje s obrazom tohto čísla v číselnej sústave so základom Q. Príklady takejto zmiešanej číselnej sústavy sú binárne- osmičkové a binárne-šestnástkové.

Napríklad,

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

ZOBRAZENIE ZÁPORNÝCH ČÍSEL VO FORMÁTE S PEVNÝM BODOM (BODKY)

Aby sa zjednodušili aritmetické operácie, počítače používajú špeciálne binárne kódy na vyjadrenie záporných čísel: recipročné a doplnkové. Pomocou týchto kódov sa zjednodušuje určenie znamienka výsledku operácie počas algebraického sčítania. Operácia odčítania (alebo algebraického sčítania) je zredukovaná na aritmetické sčítanie operandov, čo uľahčuje vývoj znakov pretečenia bitovej mriežky. V dôsledku toho sú počítačové zariadenia, ktoré vykonávajú aritmetické operácie, zjednodušené.

Je známe, že jedným zo spôsobov, ako vykonať operáciu odčítania, je nahradiť znamienko subtrahendu jeho opačným znamienkom a pridať ho k minuendu:

A - B = A + (- B)

Toto nahrádza operáciu aritmetického odčítania operáciou algebraického sčítania, ktorú možno vykonať pomocou binárnych sčítačiek.

Na strojové znázornenie záporných čísel sa používajú kódy priamy, dodatočný, spätný. Zjednodušená definícia týchto kódov môže byť uvedená nasledovne. Ak je číslo A v bežnom binárnom kóde priamy binárny kód, znázornený ako

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

potom je číslo -A v rovnakom kóde reprezentované ako

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

a v obrátene(inverzný) kód toto číslo bude vyzerať takto:

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

ai = 1, ak ai = 0,

ai = 0, ak ai = 1,

a páči sa mi to i- tá číslica binárneho čísla. V dôsledku toho sa pri prechode z priameho kódu na spätný kód všetky číslice Matisse čísel obrátia.

Potom číslo -A in dodatočné kód je reprezentovaný ako

[-A]pridať = [-A]ot + 1

Ak teda chcete získať doplnkový kód záporných čísel, musíte najprv invertovať digitálnu časť pôvodného čísla, čo vedie k jeho opačnému kódu, a potom pridať jednotku k najmenej významnej číslici digitálnej časti čísla.

Doplnkový kód určitého čísla sa získa jeho nahradením novým číslom, komplementárne na číslo, ktoré sa rovná váhe číslice nasledujúcej za najvýznamnejšou číslicou bitovej mriežky, ktorá predstavuje mantisu čísla vo formáte s pevnou bodkou. Preto sa takýto číselný kód nazýva dodatočný.

Predstavme si, že máme len dve číslice na vyjadrenie čísel v desiatkovej číselnej sústave. Potom bude maximálne zobrazené číslo 99 a váha tretej neexistujúcej najvyššej číslice bude 10 2, t.j. 100. V tomto prípade pre číslo 20 bude doplnkové číslo 80, ktoré dopĺňa 20 až 100 (100 - 20 = 80). Preto podľa definície odčítanie

možno nahradiť pridaním:

Tu najvyššia jednotka presahuje pridelenú bitovú mriežku, v ktorej zostáva len číslo 30, t.j. Výsledok odčítania čísla 20 od 50.

Teraz sa pozrime na podobný príklad pre čísla reprezentované v 4-bitovom binárnom kóde. Nájdite dodatočné číslo pre 0010 2 = 210. Od 0000 musíme odčítať 0010, dostaneme 1110, čo je doplnkový kód 2. Číslica uvedená v hranatých zátvorkách v skutočnosti neexistuje. Ale keďže máme 4-bitovú mriežku, je v podstate nemožné vykonať takéto odčítanie a ešte viac sa snažíme odčítania zbaviť. Dodatočný číselný kód sa preto získa spôsobom opísaným vyššie, t.j. najprv získajú reverzný kód čísla a potom k nemu pridajú 1. Keď sme to všetko urobili s naším číslom (2), nie je ťažké vidieť, že dostaneme podobnú odpoveď.

Zdôraznime to Kódy dvojkového doplnku a dvojkového doplnku sa používajú iba na reprezentáciu záporných binárnych čísel vo forme s pevnou bodkou. Kladné čísla v týchto kódoch nemenia svoj obraz a sú znázornené ako v priamom kóde.

Digitálne číslice záporného čísla teda v priamy kód zostávajú nezmenené a jedna je napísaná v znakovej časti.

Pozrime sa na jednoduché príklady.

Sedem v priamom kóde je znázornené takto:

pr = 0,0001112

Číslo -7 v priamom kóde:

[-7]pr = 1,0001112,

a v opačnom kóde to bude vyzerať

[-7]ot = 1,1110002,

tie. jednotky sú nahradené nulami a nuly jednotkami. Rovnaké číslo v dvojke by bolo:

[-7]sčítajte = 1,1110012.

Uvažujme ešte raz, ako sa procedúra odčítania, využívajúca reprezentáciu subtrahendu v dvojkovom doplnkovom kóde, redukuje na procedúru sčítania. Odčítajte číslo 7 od 10: 10 - 7 = 3. Ak sú oba operandy uvedené v priamom kóde, postup odčítania sa vykoná takto:

-1.000111

A ak je subtrahendable, t.j. -7, prezentované v kóde dvoch doplnkov, potom sa postup odčítania zredukuje na postup sčítania:

+ 1.111001

1 0.000011 = 310.

V súčasnosti počítače zvyčajne používajú dvojkový doplnkový kód na vyjadrenie záporných čísel vo formáte s pevnou bodkou.

Forma reprezentácie čísel v digitálnych strojoch je súbor pravidiel, ktoré umožňujú stanoviť vzájomný súlad medzi záznamom čísla a jeho kvantitatívnym ekvivalentom.

Strojový (automatický) obraz čísla to je reprezentácia čísla v bitovej mriežke digitálneho stroja. Symbol pre strojový obraz čísla, napríklad A, bude reprezentovaný ako [A].

Kvôli obmedzenej dĺžke strojových slov je množina čísel, ktoré môžu byť v stroji reprezentované, konečná. Porovnania medzi rôznymi formami reprezentácie čísel v počítačoch sa zvyčajne robia na základe odhadu rozsah a presnosť reprezentácie čísel.

V každodennej praxi je najbežnejšou formou reprezentácie čísel postupnosť číslic oddelených čiarkou na celé číslo a zlomkové časti. Čísla v tomto tvare sa nazývajú čísla s prirodzenou čiarkou alebo číslami v prirodzenom tvare. V prirodzenom tvare sa číslo zapisuje v prirodzenom tvare, napríklad 12560 je celé číslo, 0,003572 je vlastný zlomok, 4,89760 je nesprávny zlomok.

Pri reprezentácii čísel v tejto forme je potrebné, aby každé číslo uvádzalo pozíciu svojej čiarky v bitovej mriežke pridelenej na reprezentáciu čísla v stroji, čo si vyžaduje dodatočné náklady na hardvér v pomerne veľkej výške. Preto sa v počítačoch rozšírili dve ďalšie formy reprezentácie: s pevnou a pohyblivou rádovou čiarkou (bodka).

Nie je potrebné uvádzať polohu čiarky, ak je miesto čiarky v bitovej mriežke stroja raz a navždy pevne dané. Táto forma reprezentácie čísel sa nazýva reprezentácia s pevná čiarka (bodka).

Keďže čísla môžu byť kladné a záporné, formát (bitová mriežka) obrazu stroja je rozdelený na ikonická časť A číselné pole. Pole čísla obsahuje obrázok samotného čísla, ktoré budeme bežne nazývať mantisačísla. Na zakódovanie znamienka čísla sa použije najvýznamnejšia číslica bitovej mriežky vyhradená pre obrázok binárneho čísla a zvyšné číslice sa priradia mantise čísla. Poloha čiarky v bitovej mriežke je striktne pevná, zvyčajne buď vpravo od najnižšej číslice mantisy, alebo vľavo od najvyššej. V prvom prípade je číslo reprezentované ako celé číslo, v druhom - ako správny zlomok. V súčasnosti prevažná väčšina počítačov predstavuje celé čísla vo formáte s pevnou desatinnou čiarkou.

Časť znaku obsahuje informácie o znaku čísla. Pripúšťa sa, že znamenie kladné číslo "+" reprezentovaný symbolom 0, a znamienko je záporné číslo "-" reprezentovaný symbolom 1.

Napríklad v binárnom kóde s použitím 6-bitovej mriežky môže byť číslo 7 vo forme s pevnou bodkou reprezentované ako:

kde číslica naľavo od bodky je znakom čísla a päť číslic napravo od bodky je mantisa čísla v priamom kóde. To, čo sa tu myslí, je to čiarka je umiestnená napravo od najmenej významnej číslice a bod na obrázku čísla v tomto prípade jednoducho oddeľuje znamienkový bit od mantisy čísla.

V budúcnosti sa tento typ reprezentácie čísla v strojovej forme bude často používať v príkladoch. Môžete použiť inú formu reprezentácie čísla v strojovom tvare:

kde znamienkový bit je oddelený hranatými zátvorkami.

Počet číslic v bitovej mriežke pridelených na reprezentáciu mantisy čísla určuje rozsah a presnosť reprezentácie čísla s pevnou desatinnou čiarkou. Maximálne binárne číslo v absolútnej hodnote predstavujú jednotky vo všetkých čísliciach, okrem znamienka jedna, t.j. pre celé číslo

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

Kde n- celková dĺžka bitovej mriežky. V prípade 16-bitovej siete

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

tie. Rozsah reprezentácie celého čísla bude v tomto prípade od +3276710 do -3276710.

Pre prípad, keď je čiarka fixovaná napravo od číslice nižšieho rádu mantisy, t.j. pre celé čísla, čísla, ktorých modul je väčší ako

(2(n-1) - 1) a menej ako jedna nie sú zastúpené v pevnej bodovej forme. Čísla, ktorých absolútna hodnota je menšia ako jedna z najmenej významných číslic bitovej mriežky, sa v tomto prípade nazývajú strojová nula. Záporná nula je zakázaná.

V niektorých prípadoch, keď je možné pracovať len s modulmi čísel, je celá bitová mriežka vrátane najvýznamnejšieho bitu alokovaná na reprezentáciu čísla, čo umožňuje rozšíriť rozsah reprezentácie čísel.

Binárny desiatkový číselný systém

Systém binárnych desiatkových čísel sa v moderných počítačoch rozšíril vďaka ľahkému prevodu na desiatkovú sústavu a naopak. Používa sa tam, kde sa hlavná pozornosť nevenuje jednoduchosti technickej konštrukcie stroja, ale pohodliu užívateľa. V tomto číselnom systéme sú všetky desatinné číslice oddelene zakódované štyrmi binárnymi číslicami a v tejto forme sa zapisujú postupne jedna za druhou.

Binárna desiatková sústava nie je ekonomická z hľadiska realizácie technickej konštrukcie stroja (potrebné vybavenie sa zvyšuje asi o 20%), ale je veľmi pohodlné pri príprave úloh a programovaní. V binárnej desiatkovej číselnej sústave je základom číselnej sústavy číslo 10, ale každá desiatková číslica (0, 1, ..., 9) je reprezentovaná, to znamená zakódovaná, dvojkovými číslicami. Na vyjadrenie jednej desatinnej číslice sa používajú štyri binárne číslice. Tu je, samozrejme, redundancia, pretože 4 binárne číslice (alebo binárna tetráda) môžu predstavovať nie 10, ale 16 čísel, ale to sú už výrobné náklady kvôli pohodlnosti programovania. Existuje niekoľko binárne kódovaných desiatkových systémov na reprezentáciu čísel, ktoré sa vyznačujú tým, že určitým kombináciám núl a jednotiek v rámci jednej tetrády sú priradené určité hodnoty desatinných číslic.
Uverejnené na ref.rf
V najčastejšie používanom prirodzenom binárnom kódovanom desiatkovom číselnom systéme sú váhy binárnych číslic v rámci tetrád prirodzené, to znamená 8, 4, 2, 1 (tabuľka 6).

Tabuľka 6

Binárny desiatkový zápis

Napríklad desiatkové číslo 5673 v zápise BCD je 01010110011100011.

Prevod čísel z jedného číselného systému do druhého je dôležitou súčasťou strojovej aritmetiky. Pozrime sa na základné pravidlá prekladu.

1. Na prevod binárneho čísla na desiatkové číslo je potrebné napísať ᴇᴦο ako polynóm pozostávajúci zo súčinu číslic čísla a zodpovedajúcej mocniny 2 a vypočítať podľa pravidiel desiatkovej aritmetiky˸

Pri preklade je vhodné použiť tabuľku mocnin dvoch˸

Tabuľka 7.

Schopnosti čísla 2

n (stupeň)

Príklad. Preveďte číslo do desiatkovej číselnej sústavy.

2. Na prevod osmičkového čísla na desiatkové číslo je potrebné napísať ᴇᴦο ako polynóm pozostávajúci zo súčinu číslic čísla a zodpovedajúcej mocniny čísla 8 a vypočítať podľa pravidiel desiatkovej aritmetiky˸

Pri preklade je vhodné použiť tabuľku mocnin osem˸

Tabuľka 8.

Schopnosti čísla 8

n (stupeň)
8n

Binárna desiatková číselná sústava - pojem a typy. Klasifikácia a vlastnosti kategórie "Systém binárnych desiatkových čísel" 2015, 2017-2018.

Tento systém má základ S = 10, ale každá číslica je reprezentovaná štvorbitovým binárnym číslom nazývaným tetráda. Tento číselný systém sa zvyčajne používa v počítačoch pri zadávaní a výstupe informácií. V niektorých typoch počítačov však ALU obsahuje špeciálne desiatkové aritmetické bloky, ktoré vykonávajú operácie s číslami v binárnom desiatkovom kóde. To umožňuje v niektorých prípadoch výrazne zvýšiť výkon počítača.

Napríklad v systéme automatizovaného spracovania údajov existuje veľa čísel, ale málo výpočtov. V tomto prípade by operácie spojené s prenosom čísel z jedného systému do druhého výrazne prekročili čas potrebný na vykonanie operácií spracovania informácií.

Prevod čísel z desiatkovej sústavy do BCD je veľmi jednoduchý a pozostáva z nahradenia každej číslice binárnou tetrádou.

Príklad.

Desatinné číslo 572,38 (10) zapíšte v dvojkovej sústave desiatkových čísel.

Opačný preklad je tiež jednoduchý: musíte rozdeliť binárne-desiatkové číslo na tetrády od bodu doľava (pre celočíselné časti) a doprava (pre zlomkovú časť), pridať požadovaný počet nevýznamných núl a potom zapíšte každú tetrádu ako desatinnú číslicu.

Príklad.

V desiatkovej sústave zapíšte binárne desiatkové číslo 10010,010101 (2-10).

Prevod čísel z BCD do binárneho systému sa vykonáva podľa všeobecných pravidiel opísaných vyššie.

2.3. Osmičková číselná sústava

V osmičkovej číselnej sústave sa používa iba osem číslic, t.j. táto číselná sústava má základ S = 8. Vo všeobecnosti osmičkové číslo vyzerá takto:

Kde
.

Na rozdiel od dvojkovej sústavy počítač nepotrebuje osmičkovú číselnú sústavu. Vyhovuje ako kompaktná forma zápisu čísel a využívajú ju programátori (napríklad v programových textoch na stručnejší a pohodlnejší spôsob zápisu binárnych kódov príkazov, adries a operandov). V systéme osmičkových čísel je váha každej číslice násobkom ôsmich alebo jednej osminy, takže osembitové binárne číslo vám umožňuje vyjadriť desiatkové hodnoty v rozsahu 0-255 a osmičkové číslo pokrýva rozsah 0. -99999999 (pre binárne je to 27 číslic).

Pretože 8=2 3, každý osmičkový znak môže byť reprezentovaný ako trojbitové binárne číslo. Ak chcete previesť číslo z binárnej číselnej sústavy na osmičkovú číselnú sústavu, musíte toto číslo rozdeliť vľavo (pre celočíselnú časť) a vpravo (pre zlomkovú časť) od bodky (čiarka) do skupín po troch číslice (triády) a predstavujú každú skupinu číslom v osmičkovej číselnej sústave. Krajné neúplné triády sú doplnené o požadovaný počet nevýznamných núl.

Príklad.

Napíšte binárne číslo 10101011111101 (2) v osmičkovej číselnej sústave.

Príklad.

Napíšte dvojkové číslo 1011.0101 (2) v osmičkovej číselnej sústave.

Konverzia z osmičkového na binárne sa vykonáva tak, že každá číslica osmičkového čísla je reprezentovaná ako trojciferné binárne číslo (triáda).

2.4. Hexadecimálna číselná sústava

Táto číselná sústava má základ S = 16. Vo všeobecnosti šestnástkové číslo vyzerá takto:

Kde
.

Hexadecimálny číselný systém umožňuje písať viacbitové dvojkové čísla ešte stručnejšie a navyše skrátiť zápis 4-bitového dvojkového čísla, t.j. okusovať, keďže 16=2 4 . Šestnástková sústava sa používa aj v programových textoch na stručnejšie a pohodlnejšie zaznamenávanie binárnych čísel.

Ak chcete previesť číslo z binárnej číselnej sústavy na šestnástkovú, musíte rozdeliť toto číslo naľavo a napravo od bodu na tetrády a reprezentovať každú tetrádu číslicou v šestnástkovej číselnej sústave.

Príklad.

Napíšte binárne číslo 10101011111101 (2) v šestnástkovej sústave.

Príklad.

Napíšte binárne číslo 11101.01111 (2) v hexadecimálnej sústave.

Na prevod čísla zo šestnástkovej číselnej sústavy do dvojkovej číselnej sústavy je naopak potrebné nahradiť každú číslicu tohto čísla tetrádou.

Na záver je potrebné poznamenať, že prenos ľubovoľných čísel z jednej číselnej sústavy do druhej je možné vykonať podľa všeobecných pravidiel opísaných v časti „Sústava binárnych čísel“. V praxi sa však prevody čísel z desiatkovej sústavy do uvažovaných číselných sústav a naopak vykonávajú cez dvojkovú číselnú sústavu.

Pamätajte tiež, že šestnástkové a osmičkové čísla predstavujú iba spôsob vyjadrenia veľkých binárnych čísel, s ktorými procesor skutočne pracuje. V tomto prípade je výhodnejšia hexadecimálna sústava, keďže v moderných počítačoch procesory manipulujú so slovami s dĺžkou 4, 8, 16, 32 alebo 64 bitov, t.j. dĺžka slov je násobkom 4. V osmičkovom číselnom systéme sú preferované slová, ktoré sú násobkami 3 bitov, napríklad slová s dĺžkou 12 bitov (ako v PDP-8 od DEC).