Uložte záporné čísla do pamäte počítača. Zastúpenie čísel v počítači

    Celé čísla sú najjednoduchšie číselné údaje, s ktorými počítač pracuje. Pre celé čísla existujú dve reprezentácie: nepodpísané (iba pre negatívne celé čísla) a podpísané. Je zrejmé, že záporné čísla môžu byť reprezentované len v symbolickej forme. Celé čísla sú uložené v počítači v počítači formát pevných bodov.

  • Zastúpenie celých čísel v nepodpísaných celých typoch.

    Pre nepodpísané zobrazenie sú všetky číslice bunky priradené k reprezentácii samotného čísla. Napríklad v bajte (8 bitov) môžu byť reprezentované nepodpísané čísla od 0 do 255. Preto ak je známe, že číselná hodnota nie je negatívna, potom je lepšie považovať ju za nepodpísané.

    Zastúpenie celých čísel v podpísaných typoch celých čísel.  Pri podpísanom zobrazení je najvýznamnejší (ľavý) bit priradený znaku čísla, zvyšné bity na samotné číslo. Ak je číslo pozitívne, potom 0 sa umiestni do znakového bitu, ak je negatívne - 1. Napríklad v byte môžete reprezentovať podpísané čísla od -128 do 127.

    Priame kódové číslo.  Zobrazenie čísla v obvyklom tvare "znamienko" - "hodnota", v ktorom je značka priradená bunke vyššej objednávky a zvyšok - aby sa napísalo číslo v binárnom systéme, sa nazýva priamy kód binárne číslo, Napríklad priamy kód binárnych čísel 1001 a -1001 pre 8-bitovú bunku je 00001001 a 10001001. Pozitívne čísla v počítači sú vždy reprezentované priamym kódom. Priamy kód čísla sa úplne zhoduje so záznamom samotného čísla v bunke stroja. Priamy kód záporného čísla sa od priameho kódu zodpovedajúceho kladného čísla odlišuje iba obsahom znakového bitu. Ale záporné celé čísla nie sú v počítači reprezentované prostredníctvom priameho kódu, takzvaného doplnkový kód. Ďalší kód kladné číslo sa rovná priamemu kódu tohto čísla. Doplnkový kód záporného čísla m je 2 k - | m |, kde k je počet číslic v bunke. Ako už bolo uvedené, pri zastupovaní negatívnych čísel v nepodpísanom formáte sú všetky číslice bunky priradené k samotnému číslu. Napríklad napísanie čísla 243 = 11110011 do jedného bajtu s nepodpísaným zobrazením bude vyzerať takto:

Pri reprezentovaní celých číslic so znamienkom je vedľajšia (ľavá) číslica označená znakom čísla a skutočné číslo zostáva o jednu číslicu menšiu. Preto ak sa uvedený stav bunky považuje za podpísané celé číslo, potom sa v tejto bunke zaznamená číslo -13 (243 + 13 = 256 = 28). Ak je však rovnaké záporné číslo zapísané v bunke 16 bitov, potom bude obsah bunky nasledovný:

Zastúpenie čísel

Čísla v matematike

Číslo je najdôležitejšou koncepciou matematiky, ktorá sa vyvinula a rozvíjala počas dlhého obdobia ľudskej histórie. Ľudia začali pracovať s číslami z primitívneho obdobia. Spočiatku osoba prevádzkovaná iba na priaznivých celých číslach, ktoré sa nazývajú prirodzené čísla: 1, 2, 3, 4 ... Dlho sa dospelo k názoru, že existuje veľmi veľké množstvo "viac ako niesť ľudskú myseľ na rozum" (ako to píšali v starých slovanských matematických pojednaniach) ,

Vývoj matematiky vedie k záveru, že najväčší počet nie je. Z matematického hľadiska je séria prirodzených čísel nekonečná, t.j. neobmedzená. So vznikom pojmu záporného čísla v matematike (R. Descartes, XVII storočie v Európe, v Indii oveľa skôr) sa ukázalo, že súbor celých čísel je neobmedzený ako "ľavý", tak aj "správny". Matematický súbor celých čísiel je diskrétny a neobmedzený (nekonečný).

Koncept skutočného (alebo reálneho) čísla bol zavedený do matematiky Isaacom Newtonom v 18. storočí. Z matematického hľadiska množina reálnych čísel je nekonečná a spojitá, Zahŕňa mnoho celých čísel a nekonečný počet celočíselných znakov. Medzi ľubovoľnými dvoma bodmi na číselnej osi je nekonečná sada skutočných čísel. Koncept reálneho čísla je spojený s myšlienkou kontinuálnej numerickej osi, ktorej akýkoľvek bod zodpovedá skutočnému číslu.

Zastúpenie celých čísel

V pamäti počítača čísla sú uložené v binárnom zápisu  (pozri " Číselné systémy"2). Existujú dve formy na reprezentáciu celých čísel v počítači: celé číslo bez znamienka a celé číslo podpísané.

Nepísané celé čísla - to je mnoho pozitívnych čísel v rozsahu  kde k- toto je šírka pamäťovej bunky priradenej k číslu. Napríklad, ak je pamäťová bunka s veľkosťou 16 bitov (2 bajty) priradená pre celé číslo, najvyšší počet by bol:

V desiatkovej notácii to zodpovedá: 2 16 - 1 = 65 535

Ak sú všetky číslice v bunke nula, potom bude nula. Teda 2 16 = 65 536 celých čísel sa umiestni do 16-bitovej bunky.

Podpísané celé čísla  je súbor pozitívnych a záporných čísel v rozsahu[–2  k –1 , 2  k  -1 - 1]. Napríklad, kedy k  = 16 rozsah celých čísel: [-32 768, 32 767]. Najvyššia časť pamäťovej bunky ukladá znak čísla: 0 je kladné číslo, 1 je záporné číslo. Najväčšie kladné číslo 32 767 má toto vyjadrenie:



Napríklad desatinné číslo 255 po prenesení do binárneho číselného systému a vložení do 16-bitovej pamäťovej bunky bude mať nasledujúce interné znázornenie:

Záporné celé čísla sú reprezentované v dodatočnom kóde. Ďalší kód  pozitívne čísla N  - to je to je jeho binárne zobrazenie, ktoré pri pridaní s kódom čísla N dáva hodnotu 2  k, tu k  - počet číslic v pamäťovej bunke. Napríklad doplnkový kód  Čísla 255 budú nasledovné:

Toto je reprezentácia negatívneho čísla -255. Pridať kódy čísel 255 a -255:


Jednotka vo vysokom poradí "vypadla" z bunky, takže suma sa ukázala byť rovná nule. Ale malo by to byť: N + (–N) = 0. Počítačový procesor vykoná operáciu odpočítania ako doplnok s dodatočným kódom odpočítaného čísla. Zároveň pretečenie bunky (prekračujúce medzné hodnoty) nespôsobí prerušenie vykonávania programu. Táto okolnosť je programátor musí vedieť a brať do úvahy!

Formát reprezentácie reálnych čísel v počítači  vyzvala formát s pohyblivou rádovou čiarkou, Skutočné číslo R  prezentované vo forme mantisy m  založené na číselnom systéme n  do určitej miery pktoré sa nazýva poradie: R= m * n p.

Zobrazenie čísla s pohyblivou čiarou je nejasné. Napríklad pre desiatkové číslo 25,324 sú splnené nasledujúce rovnice:

25,324 = 2,5324 * 10 1 = 0,0025324 * 10 4 = 2532,4 * 10 -2 atď.

Aby sme predišli dvojznačnosti, súhlasili sme s používaním počítača normalizované zobrazenie čísla s pohyblivou čiarou. mantisa  v normalizovanej reprezentácii musí spĺňať podmienku: 0,1   n m < 1  n, Inými slovami, mantisa je menšia než jedna a prvý významný údaj nie je nulový. V niektorých prípadoch sa podmienky normalizácie berú nasledovne: 1   n m < 10  n.

pamäť počítača mantisa reprezentované ako celé číslo obsahujúce iba významné číslice  (Celá číslica a čiarka nie sú uložené). Preto sa interné znázornenie reálneho čísla redukuje na reprezentáciu dvojice celých čísiel: mantisy a poriadku.

Rôzne typy počítačov používajú rôzne čísla s pohyblivou čiarou. Zvážte jednu z variant internej reprezentácie reálneho čísla v pamäťovej bunke so štyrmi bajtami.

Bunka by mala obsahovať nasledujúce informácie o čísle: označenie čísla, poradie a významné číslice mantisy.


Najvýznamnejší bit prvého bytu obsahuje znamienko čísla: 0 znamená plus, 1 - mínus. Zvyšných 7 bitov prvého bytu obsahuje objednávka stroja, Nasledujúce tri bajty ukladajú významné číslice mantisy (24 bitov).

V siedmich binárnych číslach sa umiestnia binárne čísla v rozsahu od 0000000 do 1111111. To znamená, že objednávka stroja sa pohybuje v rozmedzí od 0 do 127 (v desiatkovom číselnom systéme). Len 128 hodnôt. Objednávka môže byť samozrejme pozitívna aj negatívna. Je rozumné rozdeliť tieto 128 hodnôt rovnomerne medzi pozitívne a záporné hodnoty poradia: od -64 do 63.

Objednávka strojov  posunutý vzhľadom na matematický a má len pozitívne hodnoty. Posun je zvolený tak, aby minimálna matematická hodnota poradia zodpovedala nule.

Vzťah medzi strojovým poradím (Mp) a matematickým (p) v tomto prípade je vyjadrený vzorcom: Mp = p + 64.

Výsledný vzorec je napísaný v desiatkovej. V binárnom systéme má vzorec formu: Mp 2 = p 2 + 100 0000 2.

Ak chcete zaznamenať interné zastúpenie reálneho čísla, musíte:

1) preložiť modul dané číslo  v binárnom zápisu s 24 významnými číslicami,

2) normalizovať binárne číslo,

3) nájsť strojové poradie v binárnom číselnom systéme,

4) s prihliadnutím na znamienko čísla, napíšte jeho reprezentáciu v strojovom slove so štyrmi bajtami.

Príklad.Napíšte interné zobrazenie čísla 250.1875 vo forme s pohyblivou rádovou čiarkou.

  rozhodnutie

1. Preveďte ho do systému binárnych čísel s 24 významnými číslicami:

250,1875 10 = 11111010,0011000000000000 2 .

2. Napíšte vo forme normalizovaného čísla s dvojnásobnou pohyblivou čiarou:

0,11110100011000000000000 H 10 2 1000.

Tu je mantisa, základňa číselného systému
  (2 10 = 10 2) a poradie (8 10 = 1000 2) sú zapísané v binárnom systéme.

3. Vypočítajte poradie strojov v systéme binárnych čísel:

Mp 2 = 1000 + 100 0000 = 100 1000.

4. Napíšeme číslo v štvorbajtovej pamäťovej bunke, pričom vezmeme do úvahy znak čísla

Hexadecimálna forma: 48FA3000.

Rozsah reálnych čísel je omnoho širší ako rozsah celých čísel. Pozitívne a záporné čísla sú usporiadané symetricky okolo nuly. V dôsledku toho sú maximálne a minimálne hodnoty v modulu rovnaké.

Najmenšia hodnota v absolútnej hodnote je nula. Najväčšia v absolútnej hodnote s pohyblivou bodovou formou je číslo s najväčšou mantisou a najväčším poradím.

Pre slovo so štyrmi bajtami by takéto číslo malo byť:

0,1111111111111111111111111 · 10 21111111.

Po prevode na desiatkový číselný systém získame:

MAX = (1 - 2 - 24) · 2 63 10 19.

Ak vo výpočtoch s reálnymi číslami je výsledok mimo prijateľného rozsahu, vykonanie programu sa preruší.  Stáva sa to napríklad pri delení nulou alebo veľmi malým počtom blízko nuly.

Reálne čísla, ktorých bitová hĺbka mantisy presahuje počet číslic priradených mantiske v pamäťovej bunke, sú približne reprezentované v počítači (s mantišou "orezanou"). Napríklad racionálne desatinné číslo 0,1 v počítači bude reprezentované približne (zaokrúhlené), pretože v systéme binárnych čísiel má mantissa nekonečný počet číslic. Dôsledkom tejto blízkosti je chyba výpočtov strojov s reálnymi číslami.

Výpočty s reálnymi číslami počítač vykonáva približne. Vyskytne sa chyba pri takýchto výpočtochchyba zaokrúhľovania stroja.

Sada reálnych čísel, presne zobraziteľná v pamäti počítača vo forme plávajúceho bodu, je obmedzená a diskrétna, Diskrétnosť je dôsledkom obmedzeného počtu kúskov mantisy, ako je uvedené vyššie.

Počet reálnych čísel presne reprezentovateľných v pamäti počítača sa môže vypočítať podľa vzorca: N = 2  T · ( UL  + 1) + 1. Tu t  - počet binárnych číslic mantisy; U  - maximálna hodnota matematického poradia; L  - minimálnu hodnotu objednávky. Pre uvedenú možnosť prezentácie ( t = 24, U = 63,
  L
  = -64) sa získa: N = 2 146 683 548.

Príklad 1Získajte interné zobrazenie vo formáte "podpísané" čísla 1607 v dvojbajtovej pamäťovej bunke.

rozhodnutie

1) Preveďte číslo na systém binárnych čísel: 1607 10 = 11001000111 2.

2) Napísanie nuly až 16 číslic vľavo, dostaneme interné znázornenie tohto čísla v bunke:

Je žiaduce ukázať, ako sa používa hexadecimálny formulár pre komprimovanú podobu zápisu tohto kódu, ktorý sa získava nahradením každého štyroch binárnych čísel jedným hexadecimálnym číslom: 0647 (pozri " Číselné systémy” 2).

Ťažšie je úloha získať interné zastúpenie negatívneho celku (- N) - doplnkový kód. Musíme študentom ukázať algoritmus tohto postupu:

1) získať interné zastúpenie pozitívneho čísla N;

2) získanie opačného kódu tohto čísla nahradením 0 s 1 a 1 s 0;

3) pridajte 1 k výslednému číslu.

Príklad 2Získajte interné znázornenie celého negatívneho čísla -1607 v dvojbajtovej pamäťovej bunke.

rozhodnutie

Je užitočné ukázať študentom, ako vyzerá interná reprezentácia najmenšieho záporného čísla. V dvojbajtovej bunke je to -32,768.

1) je ľahké preložiť číslo 32 768 do binárneho číselného systému, pretože 32 768 = 2 15. Preto v binárnom systéme je:

2) napíšeme reverzný kód:

3) pridajte jedno k tomuto binárnemu číslu, ktoré dostaneme

Jeden prvý bit označuje znamienko mínus. Nemusíte si myslieť, že výsledný kód je mínus nula. Toto je -32,768 vo forme dodatočného kódu. Toto sú pravidlá pre strojové reprezentovanie celých čísel.

Po ukázaní tohto príkladu si študenti nezávisle preukážu, že pridanie číselných kódov 32 767 + (-32 768) bude mať za následok kód číslo -1.

Zohľadňujú sa základy počítačovej vedy a opisuje sa moderný počítačový hardvér. Prístupy k definícii základných pojmov v oblasti informatiky sú formulované a ich obsah je zverejnený. Klasifikácia moderného počítačového hardvéru je uvedená a sú uvedené ich hlavné charakteristiky. Všetky hlavné ustanovenia sú ilustrované príkladmi, v ktorých sa vhodný softvér používa na riešenie špecifických problémov.

kniha:

Sekcie na tejto stránke:

Numerické údaje sa spracovávajú v počítači v systéme binárnych čísel. Čísla sú uložené v pamäti počítača v priečinku binárny kód, t.j. vo forme sledu núl a jedno, a môžu byť reprezentované vo formáte s pevným alebo pohyblivým bodom.

Celé čísla sú uložené vo formáte pevných bodov. S týmto číslom formát pre ukladanie celé negatívne číslapridelený pamäťový register pozostávajúci z ôsmich pamäťových buniek (8 bitov). Každá číslica pamäťovej bunky vždy zodpovedá rovnakej číslici čísla a čiarka je umiestnená vpravo za číslom nízkej objednávky a mimo bitovej mriežky. Napríklad číslo 11001101 2 bude uložené v pamäťovom registri nasledovne:


Maximálna hodnota nezáporného čísla, ktoré sa môže uložiť v registri vo formáte pevných bodov, sa dá určiť zo vzorca: 2n -1 kde n -počet číslic čísla. Maximálny počet bude 2 8 - 1 = 255 10 = 11111111 2 a minimálne 0 10 = 00000000 2. Rozsah zmeny negatívnych celých čísel bude teda v rozmedzí od 0 do 255 10.

Na rozdiel od desatinného systému v systéme binárnych čísel, keď je binárne číslo počítačové, neexistujú žiadne symboly označujúce znak čísla: pozitívny (+) alebo negatívny (-), preto podpísané celé číslabinárny systém používa dva formáty na reprezentáciu čísla: formát podpísanej hodnoty a formát doplnkového kódu. V prvom prípade sú dva pamäťové registre (16 bitov) pridelené na uloženie podpísaných celých čísel, pričom predná číslica (vľavo) sa používa pod označením čísla: ak je číslo pozitívne, 0 sa zapíše do znakového bitu, ak je negatívne, potom 1. Napríklad , číslo 536 10 = 0000001000011000 2 bude reprezentované v pamäťových registroch nasledovne:


a záporné číslo je -536 10 = 1000001000011000 2 vo forme:


Maximálne kladné číslo alebo minimálne negatívne vo formáte hodnoty čísla s označením (berúc do úvahy reprezentáciu jednej číslice pod označením) sa rovná 2 n-1  - 1 = 2 16-1 - 1 = 2 15 - 1 = 32767 10 = 111111111111111 2 a rozsah čísel bude v rozsahu od -32767 10 do 32767.

Najčastejšie sa formát binárneho kódu používa na reprezentovanie podpísaných celých čísiel, čo umožňuje nahradiť operáciu odpočítania aritmetiky v počítači pomocou operácie pridania, čo značne zjednodušuje štruktúru mikroprocesora a zvyšuje jeho rýchlosť.

Ak chcete reprezentovať záporné celé čísla v tomto formáte, použije sa ďalší kód, ktorým je pridanie modulu záporného čísla na nulu. Preklad celého záporného čísla do ďalšieho kódu sa vykonáva pomocou nasledujúcich operácií:

1) napíšte modul čísla priameho kódu v n (n =16) binárne číslice;

2) získať inverzný kód čísla (invertovať všetky číslice čísla, tzn. Nahradiť všetky jednotky nulami a nuly jednotkami);

3) Pridajte jednotku do nižšieho poradia k prijatému reverznému kódu.

Napríklad pre číslo -536 10 v tomto formáte bude modul 0000001000011000 2, návratový kód bude 111111011111100111 a prídavný kód bude 111111011110101000. Kontrolovanú hodnotu dodatočného kódu skontrolujeme pomocou kalkulačky. Za týmto účelom zadajte hodnotu modulu číslo -536 10, t. J. Číslo 536 10 a pomocou voliteľného tlačidla popolnice  konvertujte toto číslo, reprezentované v desiatkovom číslom, do binárneho systému, ak ste predtým nainštalovali voliteľné tlačidlo 2 bajty  Stlačenie tlačidla nie  kalkulačku, dostaneme inverzný kód čísla a pripočítame binárny kód na návratový kód - ďalší kód. Konečný výsledok sa získa v okne programu Kalkulačka programu (obrázok 2.6). Môžete to urobiť ešte jednoduchšie: vytáčaním čísla -536 10 na kalkulačke a aktivovaním tlačidla popolnice, získajte dodatočný kód tohto čísla v systéme binárnych čísel.



Obr. 2.6. Výsledok získania ďalšieho kódu

Treba pamätať na to, že dodatočným kódom kladného čísla je samotné číslo.

Pri ukladaní podpísaných celých čísel popri 16-bitovom reprezentovaní počítača sa pri použití dvoch pamäťových registrov (tento formát čísel nazýva aj podpísaný krátky celočíselný formát) sa používajú stredné a dlhé formátované celé čísla. Na reprezentáciu čísel vo formáte priemerov sa používajú štyri registre (4 x 8 = 32 bitov) a osem registrov (8 x 8 = 64 bitov) sa používa na reprezentovanie čísiel vo formáte dlhých čísel. Rozsah hodnôt pre formát stredných a dlhých čísel bude rovnaký: - (2 31 - 1) ... + 2 31 - 1 a - (2 63 -1) ... + 2 63 - 1.

Počítačové zobrazenie čísel vo formáte pevných bodov má svoje výhody a nevýhody. Výhody zahŕňajú jednoduchosť reprezentácie čísel a algoritmov pre realizáciu aritmetických operácií, nevýhodou je konečný rozsah reprezentácie čísel, ktorý nemusí byť dostatočný na riešenie mnohých praktických problémov (matematické, ekonomické, fyzické atď.).

Reálne čísla (konečné a nekonečné desatinné zlomky) sú spracované a uložené v počítači vo formáte s pohyblivou rádovou čiarkou. V tomto formáte môže byť umiestnenie čiarky v zázname rôzne. Akékoľvek skutočné číslo rkformát s pohyblivou rádovou čiarkou je možné znázorniť nasledovne:


kde A -mantisové čísla; h -systém základných čísel; p -poradie čísla.

Výraz (2.7) pre desiatkový číselný systém má tvar:


pre binárne -


pre okta-


pre hexadecimálne -


Táto forma reprezentácie čísla sa tiež nazýva normálna. Pri zmene poradia sa čiarka v čísle posúva, t. J. Letí doľava alebo doprava. Preto sa normálna forma zastupovania čísel nazýva forma s pohyblivou čiarou. Desatinné číslo 15.5, napríklad vo formáte s pohyblivou rádovou čiarkou, môže byť reprezentované ako: 0.155 · 10 2; 1,55.10 1; 15,5 ± 10 0; 155,0 · 10-1; 1550.0 · 10 -2 atď. Táto desatinná notácia s 15,5 pohyblivým bodom sa nepoužíva pri písaní počítačových programov a ich vkladaní do počítača (počítačové vstupné zariadenia vnímajú iba lineárne nahrávanie dát). Na základe toho sa do formulára prevedie výraz (2.7) reprezentujúci desatinné čísla a ich zadanie do počítača


kde R -poradie čísla

to znamená, že namiesto základne číselného systému 10 napíš písmeno E,miesto čiarky - bod a násobenie nie je vložené. Preto bude číslo 15.5 vo formáte s pohyblivou a lineárnym záznamom (počítačová reprezentácia) zapísané vo forme: 0.155Е2; 1.55E1; 15.5E0; 155.0-1; 1550.0E-2 atď.

Bez ohľadu na číselný systém môže byť akékoľvek číslo vo forme s pohyblivou čiarou reprezentované nekonečnou sériou čísel. Táto forma nahrávania sa nazýva normalizovaná. Pre jednoznačné zobrazenie čísel s pohyblivou rádovou čiarkou používajte normalizovanú formu písania čísla, v ktorej mantisa čísla musí spĺňať podmienku


kde | A | -  absolútna hodnota čísla mantisy.

Podmienka (2.9) znamená, že mantisa musí byť správna frakcia a má za desatinnou čiarkou nenulové číslo, inými slovami, ak je desatinná čiarka v mantise nenulová, potom sa číslo nazýva normalizované. Takže číslo 15.5 v normalizovanej forme (normalizovaná mantissa) vo forme plávajúceho bodu bude vyzerať takto: 0.155 · 10 2, t. J. Normalizovaná mantisa bude   = 0.155 a poradie P  = 2, alebo v počítačovom zobrazení čísla 0.155E2.

Čísla vo forme plovoucej čiarky majú pevný formát a obsadzujú štyri (32 bitov) alebo osem bajtov (64 bitov) v pamäti počítača. Ak je číslo obsadené 32 číslic v pamäti počítača, potom je to obvyklé číslo presnosti, ak je to 64 číslic, potom ide o číslo s dvojitou presnosťou. Pri písaní čísla s pohyblivou čiarou sú bity pridelené na uloženie znaku mantisy, znaku objednávky, znaku mantisy a poradia. Počet číslic, ktorý je priradený k poradiu čísla, určuje rozsah variácie čísel a počet číslic, ktoré sú uložené na uloženie mantisy, určuje presnosť, s akou je číslo nastavené.

Pri vykonávaní aritmetických operácií (pridanie a odčítanie) nad číslami reprezentovanými vo formáte s pohyblivou rádovou čiarkou sa implementuje nasledujúci postup (algoritmus):

1) zosúladenie poradia čísel, ktoré sú viazané aritmetické operácie  (poradie čísla menšieho modulu sa zvýši na hodnotu poradia čísla väčšieho modulu, mantissa sa znižuje o rovnaký čas)

2) aritmetické operácie sa vykonávajú na mantize čísel;

3) získaný výsledok je normalizovaný.

Vysvetliť to s príkladmi.

Príklad 1

Pridajme dve čísla 0,5 · 10 2 a 0,8 · 10 3 vo formáte s pohyblivou rádovou čiarkou.

Rozhodnutie.

Uskutočníme vyrovnanie objednávok a pridanie mantidy 0,05 · 10 3 + 0,8 · 10 3 = 0,85 · 10 3. Získaná mantissa 0,85 sa normalizuje, pretože spĺňa podmienky (2,9).

Príklad 2

Pridajme dve čísla 0,1 · 2 2 a 0,1 · 2 3 vo formáte s plávajúcou čiarou.

Rozhodnutie.

Urobíme zarovnanie objednávok a pridanie mantisky: 0,01 · 2 3 + 0,1 · 2 3 = 0,11 · 2 3. Výsledná manžeta 0.11 je normalizovaná, pretože spĺňa podmienky (2.9).

Numerické údaje sa spracovávajú v počítači v systéme binárnych čísel. Čísla sú uložené v pamäti počítača v binárnom kóde, to znamená v poradí nuly a jedno, a môžu byť reprezentované vo formáte s pevným alebo pohyblivým bodom.

Celé čísla sú uložené vo formáte pevných bodov. S týmto číslom formát pre ukladanie celé negatívne číslapridelený pamäťový register pozostávajúci z ôsmich pamäťových buniek (8 bitov). Každá číslica pamäťovej bunky vždy zodpovedá rovnakej číslici čísla a čiarka je umiestnená vpravo za číslom nízkej objednávky a mimo bitovej mriežky. Napríklad číslo 11001101 bude uložené v pamäťovom registri nasledovne:

Maximálna hodnota nezáporného čísla, ktoré sa môže uložiť v registri vo formáte pevných bodov, sa dá určiť zo vzorca: 2 – 1 kde n -počet číslic čísla. Maximálny počet v tomto prípade bude 2 - 1 = 255 = 11111111 a minimálne 0 = 00000000. Rozsah zmeny negatívnych celých čísel bude teda v rozmedzí od 0 do 255.

Na rozdiel od desatinného systému v systéme binárnych čísel, keď je binárne číslo počítačové, neexistujú žiadne symboly označujúce znak čísla: pozitívny (+) alebo negatívny (-), preto podpísané celé číslabinárny systém používa dva formáty na reprezentáciu čísla: formát podpísanej hodnoty a formát doplnkového kódu. V prvom prípade sú dva pamäťové registre (16 bitov) pridelené na uloženie podpísaných celých čísel, pričom predná číslica (vľavo) sa používa pod označením čísla: ak je číslo pozitívne, 0 sa zapíše do znakového bitu, ak je negatívne, potom 1. Napríklad , číslo 536 = 0000001000011000 bude reprezentované v pamäťových registroch nasledovne:

a záporné číslo -536 = 1000001000011000 vo forme:

Maximálne kladné číslo alebo minimálne negatívne vo formáte hodnoty čísla s označením (berúc do úvahy reprezentáciu jednej číslice pod označením) sa rovná 2 - 1 = 2 - 1 = 2 - 1 = 32767 = 111111111111111 a rozsah čísel bude v rozmedzí od - 32 767 do 32 767.

Najčastejšie sa formát binárneho kódu používa na reprezentovanie podpísaných celých čísiel, čo umožňuje nahradiť operáciu odpočítania aritmetiky v počítači pomocou operácie pridania, čo značne zjednodušuje štruktúru mikroprocesora a zvyšuje jeho rýchlosť.

Ak chcete reprezentovať záporné celé čísla v tomto formáte, použije sa ďalší kód, ktorým je pridanie modulu záporného čísla na nulu. Preklad celého záporného čísla do ďalšieho kódu sa vykonáva pomocou nasledujúcich operácií:

1) napíšte modul čísla priameho kódu v n (n =16) binárne číslice;

2) získať inverzný kód čísla (invertovať všetky číslice čísla, tzn. Nahradiť všetky jednotky nulami a nuly jednotkami);

3) Pridajte jednotku do nižšieho poradia k prijatému reverznému kódu.

Napríklad, pre počet -536 v tomto formáte module sa bude rovnať 0000001000011000 inverzný kód - 1111110111100111, a dodatočný kód - 1111110111101000. overiť dodatočnej kódovej hodnoty získané pomocou kalkulačky. Za týmto účelom zadajte hodnotu modulu číslo -536, t. J. Číslo 536 a pomocou voliteľného tlačidla popolnice  konvertujte toto číslo, reprezentované v desiatkovom číslom, do binárneho systému, ak ste predtým nainštalovali voliteľné tlačidlo 2 bajty  Stlačenie tlačidla nie  kalkulačku, dostaneme inverzný kód čísla a pripočítame binárny kód na návratový kód - ďalší kód. Konečný výsledok sa získa v okne programu Kalkulačka programu (obrázok 2.6). Môžete to urobiť ešte jednoduchšie: vytáčaním čísla -536 na kalkulačke a aktivovaním tlačidla popolnice, získajte dodatočný kód tohto čísla v systéme binárnych čísel.


Obr. 2.6. Výsledok získania ďalšieho kódu

Treba pamätať na to, že dodatočným kódom kladného čísla je samotné číslo.

Pri ukladaní podpísaných celých čísel popri 16-bitovom reprezentovaní počítača sa pri použití dvoch pamäťových registrov (tento formát čísel nazýva aj podpísaný krátky celočíselný formát) sa používajú stredné a dlhé formátované celé čísla. Na reprezentáciu čísel vo formáte priemerov sa používajú štyri registre (4 x 8 = 32 bitov) a osem registrov (8 x 8 = 64 bitov) sa používa na reprezentovanie čísiel vo formáte dlhých čísel. Rozsahy hodnôt pre formát stredných a dlhých čísel sa budú rovnať: - (2 - 1) ... + 2 - 1 a - (2-1) ... + 2 - 1.

Počítačové zobrazenie čísel vo formáte pevných bodov má svoje výhody a nevýhody. Výhody zahŕňajú jednoduchosť reprezentácie čísel a algoritmov pre realizáciu aritmetických operácií, nevýhodou je konečný rozsah reprezentácie čísel, ktorý nemusí byť dostatočný na riešenie mnohých praktických problémov (matematické, ekonomické, fyzické atď.).

Reálne čísla (konečné a nekonečné desatinné zlomky) sú spracované a uložené v počítači vo formáte s pohyblivou rádovou čiarkou. V tomto formáte môže byť umiestnenie čiarky v zázname rôzne. Akékoľvek skutočné číslo rkformát s pohyblivou rádovou čiarkou je možné znázorniť nasledovne:

kde A -mantisové čísla; h -systém základných čísel; p -poradie čísla.

Výraz (2.7) pre desiatkový číselný systém má tvar:

pre binárne -

pre okta-

pre hexadecimálne -

Táto forma reprezentácie čísla sa tiež nazýva normálna. Pri zmene poradia sa čiarka v čísle posúva, t. J. Letí doľava alebo doprava. Preto sa normálna forma zastupovania čísel nazýva forma s pohyblivou čiarou. Desatinné číslo 15.5, napríklad vo formáte s pohyblivou rádovou čiarkou, môže byť reprezentované ako: 0.155 · 10; 1,55.10; 15,5 · 10; 155,0 · 10; 1550,0 · 10 atď. Táto desatinná notácia 15,5 pohyblivého bodu sa nepoužíva pri písaní počítačových programov a ich zadávaní do počítača (počítačové vstupné zariadenia vnímajú len lineárne nahrávanie dát). Na základe toho sa do formulára prevedie výraz (2.7) reprezentujúci desatinné čísla a ich zadanie do počítača

kde R -poradie čísla

to znamená, že namiesto základne číselného systému 10 napíš písmeno E,miesto čiarky - bod a násobenie nie je vložené. Preto bude číslo 15.5 vo formáte s pohyblivou a lineárnym záznamom (počítačová reprezentácia) zapísané vo forme: 0.155Е2; 1.55E1; 15.5E0; 155.0-1; 1550.0E-2 atď.

Bez ohľadu na číselný systém môže byť akékoľvek číslo vo forme s pohyblivou čiarou reprezentované nekonečnou sériou čísel. Táto forma nahrávania sa nazýva normalizovaná. Pre jednoznačné zobrazenie čísel s pohyblivou rádovou čiarkou používajte normalizovanú formu písania čísla, v ktorej mantisa čísla musí spĺňať podmienku

kde | A | -  absolútna hodnota čísla mantisy.

Podmienka (2.9) znamená, že mantisa musí byť správna frakcia a má za desatinnou čiarkou nenulové číslo, inými slovami, ak je desatinná čiarka v mantise nenulová, potom sa číslo nazýva normalizované. Takže číslo 15.5 v normalizovanej forme (normalizovaná mantissa) vo forme plávajúceho bodu bude vyzerať takto: 0.155 · 10, t. J. Normalizovaná mantisa bude   = 0.155 a poradie P  = 2, alebo v počítačovom zobrazení čísla 0.155E2.

Čísla vo forme plovoucej čiarky majú pevný formát a obsadzujú štyri (32 bitov) alebo osem bajtov (64 bitov) v pamäti počítača. Ak je číslo obsadené 32 číslic v pamäti počítača, potom je to obvyklé číslo presnosti, ak je to 64 číslic, potom ide o číslo s dvojitou presnosťou. Pri písaní čísla s pohyblivou čiarou sú bity pridelené na uloženie znaku mantisy, znaku objednávky, znaku mantisy a poradia. Počet číslic, ktorý je priradený k poradiu čísla, určuje rozsah variácie čísel a počet číslic, ktoré sú uložené na uloženie mantisy, určuje presnosť, s akou je číslo nastavené.

Pri vykonávaní aritmetických operácií (pridanie a odčítanie) nad číslami reprezentovanými vo formáte s pohyblivou rádovou čiarkou sa implementuje nasledujúci postup (algoritmus):

1) sú usporiadané poradie čísel, nad ktorými sa vykonávajú aritmetické operácie (poradie čísla menšieho v absolútnej hodnote sa zvyšuje na hodnotu poradia väčšieho počtu, mantisa klesá o rovnaký čas);

2) aritmetické operácie sa vykonávajú na mantize čísel;

3) získaný výsledok je normalizovaný.

Vysvetliť to s príkladmi.

Príklad 1

Pridajme dve čísla 0,5 · 10 a 0,8 · 10 vo formáte s pohyblivou bodkou.

Rozhodnutie.

Urobíme zarovnanie objednávok a pridanie mantisky 0.05 · 10 + 0.8 · 10 = 0.85 · 10. Získaná mantissa 0.85 je normalizovaná, pretože spĺňa podmienky (2.9).

Príklad 2

Pridajme dve čísla 0,1 · 2 a 0,1 · 2 vo formáte s pohyblivou čiarou.

Rozhodnutie.

Urobíme zarovnanie poradia a pridanie mantisy: 0,01 · 2 + 0,1 · 2 = 0,11 · 2. Výsledná mantissa 0,11 je normalizovaná, pretože spĺňa podmienky (2,9).

Zvyčajne sa pri zadávaní do stroja automaticky zapisujú záporné desatinné čísla do obrátených alebo dodatočných binárnych kódov a sú uložené, presúvané a zapojené do operácií v tejto forme. Pri odvodení takýchto čísel z auta, obrátená konverzia na záporné desatinné čísla.Vo väčšine počítačov sa odpočítavanie nepoužíva. Namiesto toho sa pridávanie inverzných alebo dodatočných kódov znižuje a odpočítava. To vám umožní výrazne zjednodušiť dizajn ALU.

4.2. Aritmetické operácie na celých číslach

Stručne zvážime otázku vykonávania aritmetických operácií na celých číslach. Pri pridávaní čísel A a B existujú štyri hlavné prípady:

1. A a B sú pozitívne. Pri súčte sa pridávajú všetky číslice vrátane číslice znamenia. Keďže číslice znakov pozitívnych výrazov sú nulové, číslica znamienka sumy je tiež nula. Napríklad: 0 0000011 (A = 3) + 0 0000111 (B = 7) = 0 0001010 (10) 10

Prijal sa správny výsledok

2.    A je pozitívny, B je záporný a absolútny väčší než A. Napríklad: 3 + (- 10) = - 7  0 0000011 (priamy kód) + 1 1110101 (inverzný číselný kód

10) = 1 1111000 (inverzný kód čísla -7) Správny výsledok bol získaný v inverznom kóde. Pri preklade do priameho kódu sú bity digitálnej časti výsledku obrátené: 1 0000111 = -7 10.

3.   A je pozitívny, B je záporný a absolútny v rozsahu menší ako A. Napríklad: 10 + (- 3) = 7  0 0001010 (priamy kód) + 1 1111100 (inverzný číselný kód

3) = 1 0000110 Počítač opravuje pôvodne získaný nesprávny výsledok (6 namiesto 7). Prevedenie jednotky zo znakového bitu na dolnú číslicu sumy a dáva správny výsledok 7.

4. A a B sú negatívne. Napríklad: (-3) + (- 7) = - 1 10  1111100 (inverznej kód-3) + 1 1111000 (inverzný kódové číslo -7) = 1 1110100. získa najprv nesprávny výsledok (návratový kód 10 miesto -11 návratový kód  číslice -10 10) počítač napravuje tým, že jednotka prenesie z znakového bitu na dolnú číslicu sumy. Pri preklade výsledku do priameho kódu sú bity digitálnej časti čísla obrátené: 1 0001010 = -10 10.

Pridanie celých čísel môže byť organizované pomocou ďalšie kódy, Tu sú aj prípady uvedené vyššie:

1.   A a B sú pozitívne. Neexistujú žiadne rozdiely od prípadu 1, ktorý je považovaný za reverzný kód.

2.   A je kladný, B je záporný a absolútny je väčší ako A. Napríklad: 3 + (- 10) = - 7  0 0000011 (priamy kód) + 1 1110110 (doplnkový kód čísla -10) = 1 1111001 (dodatočný kód čísla - 7) Správny výsledok sa získa v dodatočnom kóde. Pri preklade do priameho kódu sú bity digitálnej časti výsledku obrátené a jedna jednotka je pridaná k nižšiemu poradiu: 1 0000110 + 1 = 1 0000111 = -7 10.

3.   A je pozitívny, B je záporný a absolútny v rozsahu menší ako A. Napríklad: 10 + (- 3) = 7  0 0001010 (priamy kód) + 1 1111101 (prídavný kód číslo -3) = 0 0000111. Bol získaný správny výsledok. Prenosová jednotka z počítača so znamienkovými bitmi sa odhodí.

4.   A a B sú negatívne. Napríklad: (-3) + (- 7) = - 10  1 1111101 (doplnkový kód -3) + 1 1111001 (doplnkový kód číslo -7) = 1 1110110 Správny výsledok bol získaný v dodatočnom kóde. Prevodná jednotka  od signálového počítača vyhodí.

Porovnanie zvažovaných foriem kódovaných podpísaných celkov ukazuje:

    počítač stráca menej času konvertovaním záporného čísla na reverzný kód, než jeho konvertovaním do ďalšieho kódu, pretože posledný z nich pozostáva z dvoch krokov - vytvorenie inverzného kódu a pridanie jedného do jeho najmladšej kategórie;

    dodatočný čas vykonania dodatočných číselných kódov je menší ako pre ich reverzné kódy ,    pretože v tomto pridaní nie je prenos jednotky z bitu znamenia na nižšiu číslicu výsledku.

Pri pridávaní môže nastať situácia, keď sa bity s vysokou objednávkou výsledku operácie nezmestí do pamäťovej oblasti, ktorá je pre ňu pridelená. Táto situácia sa nazýva pretečenie digitálnej siete vo formáte čísla.  Špeciálne nástroje sa používajú na detekciu pretečenia a upozorňovanie na chybu v počítači.

V mnohých počítačoch násobenie vyrobené ako postupnosť prídavkov a posunov. Na to má ALU registrovať, ktorý sa nazýva akumulátor, ktorý pred začiatkom operácie obsahuje číslo nula. V procese vykonávania operácie sa striedavo umiestni do nej. násobenec  a výsledky medziproduktu, a po ukončení operácie - konečný výsledok.

Ďalší register ALU zapojený do vykonávania tejto operácie obsahuje prvý multiplikátor. Potom, ako pridáte, počet, ktorý obsahuje, klesá, kým nedosiahne nulu.

Divízia pre počítač je náročná operácia. Zvyčajne sa implementuje opakovaným pridávaním dividendového kódu.

4.3. Zastúpenie reálnych čísel v počítači

Systém reálnych čísel v matematických výpočtoch sa predpokladá ako kontinuálny a nekonečný, t.j. nie sú obmedzené rozsahom a presnosťou čísel. V počítačoch sú však čísla uložené v registroch a pamäťových bunkách s obmedzeným počtom číslic. Výsledkom toho je, že systém reálnych čísel reprezentatívnych v stroji je diskrétny (diskontinuálny) a konečný. Pri písaní reálnych čísel v programoch namiesto obvyklého čiarka je zvyčajne stanovená doba.

V počítači môžu byť čísla uvedené v jednej z dvoch foriem:

1) s pevným bodom - v prírodnej forme (0,00345 je správna frakcia, 1,23456 je nesprávna frakcia)

2) s pohyblivou čiarou (čiarka) (555,55 = 55555 10 -2 = 0,55555 10 3)

Ak chcete zobraziť reálne čísla, ktoré môžu byť veľmi malé a veľmi veľké, použite formu záznamových čísel s poradím základne číselného systému. Každé číslo A môže byť zastúpené v exponenciálnej forme:

kde m je mantisa čísla, q je základom číselného systému., n je poradie čísla.

Náhodné články

hore