Ako prezentovať dané čísla a. Znázornenie čísel v počítači

Zvyčajne sa pri zadávaní do stroja automaticky zapisujú záporné desatinné čísla do opačného alebo dodatočného binárneho kódu a sú uložené, presúvané a zapojené do operácií v tejto forme. Pri odvodení takýchto čísel z auta, reverzná 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. V súčte sú pridané všetky číslice vrátane číslice znaku. Keďže znamienkové znaky 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). Prenesenie jednotky zo znakového bitu na nižšiu číslicu a poskytnutie správneho výsledku 7.

4.   A a B sú negatívne. Napríklad: (-3) + (- 7) = - 10  1 1111100 (návratový kód je -3) + 1 1111000 (návratový kód číslo -7) = 1 1110100. Výsledok je nesprávne (návratový kód čísla -11 10 namiesto zadnej strany Kódové číslo je -10 10) počítač napraví tým, že jednotka prenesie z bitky znamienka na čiastku nízkeho poriadku. 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 doplnkové 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 číslo -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 jednotka je pridaná k nižšiemu poradiu: 1 0000110 + 1 = 1 0000111 = -7 10.

3.   A je kladný, 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ým bitom sa zbavuje.

4.   A a B sú negatívne. Napríklad: (-3) + (- 7) = - 10  1 1111101 (doplnkový kód -3) + 1 1111001 (prídavný kód číslo -7) = 1 1110110 Správny výsledok sa získal v dodatočnom kóde. Prevodná jednotka  od signálu vypustenie počítača vyhadzuje.

Porovnanie zvažovaných foriem kódovaných podpísaných celých čísiel ukazuje:

    počítač stráca menej času konvertovaním záporného čísla na kód späť, než ho konvertuje na ďalší kód, keďže tento kód pozostáva z dvoch krokov - vytvorenie inverzného kódu a pridanie jedného do jeho najmladšej kategórie;

    dodatočná doba realizácie dodatočných číselných kódov je menšia ako pre ich reverzné kódy ,    pretože v tomto pridaní nie je prenos jednotky z znakového bitu na nižšiu číslicu výsledku.

Pri pridávaní môže nastať situácia, keď horné bity výsledku operácie nezapadajú do pamäťovej oblasti pridelenej pre túto operáciu. Táto situácia sa nazýva pretečenie číslicovej siete číselného formátu.  Š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 je v ňom striedavo umiestnená. 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 najskôr 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. Obvykle 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 považuje za 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 bežnej čiarky je zvyčajne stanovená doba.

V počítači môžu byť čísla zobrazené 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é alebo 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.

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:

Číselné ú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á, ako sekvencia núl a tie, 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 číselným formátom na 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 môže určiť zo vzorca: 2n -1 kde n -počet číslic čísla. Maximálny počet sa rovná 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 binárnom číselnom systéme, keď je binárne číslo počítačové, neexistujú žiadne symboly označujúce znak čísla: kladný (+) alebo negatívny (-), preto reprezentovať podpísané celé číslabinárny systém používa dva formáty na reprezentáciu čísla: formát podpísanej hodnoty a formát dodatočného kódu. V prvom prípade sú dva pamäťové registre (16 bitov) priradené na ukladanie 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 v binárnom systéme používa formát binárneho kódu, ktorý umožňuje nahradiť operáciu odpočítania aritmetiky v počítači s operáciou 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 záporného čísla na nulu. Preklad celého negatívneho čí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) dostať inverzný kód čísla (invertovať všetky číslice čísla, to znamená nahradiť všetky jednotky nulami a nula s 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  konvertovať toto číslo, reprezentované v systéme desiatkového čísla, do binárneho systému, pretože ste predtým nainštalovali voliteľné tlačidlo 2 bajty  Stlačenie tlačidla nie  kalkulačku, získame inverzný kód čísla a pridáme binárny kód do návratového kódu - ďalší kód. Konečný výsledok sa získa v okne programu Kalkulačka programu (obrázok 2.6). Môžete to 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.

Pre ukladanie podpísaných celých čísel okrem 16-bitovej reprezentácie počítača, ak sa používajú dva pamäťové registre (tento číselný formát sa nazýva aj podpísaný krátky celočíselný formát), používajú sa 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 rovný: - (2 31 - 1) ... + 2 31 - 1 a - (2 63 -1) ... + 2 63 - 1.

Počítačová reprezentácia čí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 implementá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 môže byť reprezentovaný ako:


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

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


pre binárne -


pre osemčlennú -


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 rádovou čiarkou. 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 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ú 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

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

Bez ohľadu na číselný systém, každá forma s pohyblivou čiarou môže byť reprezentovaná nekonečnou sériou čísel. Táto forma nahrávania sa nazýva normalizovaná. Ak chcete jednoznačne reprezentovať čísla s pohyblivou rádovou čiarkou, použite 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ť bežnou frakciou 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či zobrazenie čí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 číslo obsahuje 32 číslic v pamäti počítača, potom je to zvyčajné číslo presnosti, ak je to 64 číslic, potom ide o číslo s dvojitou presnosťou. Pri písaní čísla s pohyblivou čiarou sa prideľujú bity na uloženie značky mantisy, znaku objednávky, označenia mantisy a poradia. Počet číslic, ktorý je priradený k poradiu čísla, určuje rozsah odchýlok čísel a počet číslic vyhradených na uloženie mantisy, presnosť, ktorou 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 uskutočňujú aritmetické operácie (poradie čísla menšieho v absolútnej hodnote sa zvyšuje na hodnotu poradia väčšieho počtu, mantisa sa znižuje o rovnaký čas);

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

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

Vysvetlite to vyššie s príkladmi.

Príklad 1

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

Rozhodnutie.

Uskutočňujeme zarovnanie objednávok a pridanie mantisky 0,05 · 10 3 + 0,8 · 10 3 = 0,85 · 10 3. Získaná mantissa 0,85 je normalizovaná, 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.

Uskutočňujeme 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).

Reálne čísla v matematických výpočtoch neobmedzujú rozsah a presnosť zobrazenia čí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. teda presnosť  prezentácia   reálne číslareprezentovateľné v aute, je konečná a rozsah je obmedzený.

Pri písaní reálnych čísel v programoch namiesto bežnej čiarky je zvyčajne stanovená doba. Každé skutočné číslo môže byť reprezentované vo forme písaných čísiel podľa poradia základne číselného systému.

Príklad 4.4.  Desatinné číslo 1.756 vo forme záznamových čísel v poradí bázy číselného systému môže byť reprezentované nasledovne:

1.756 . 10 0 = 0.1756 . 10 1 = 0.01756 . 10 2 = ...

17.56 . 10 -1 = 175.6 . 10 -2 = 1756.0 . 10 -3 = ... .

Zobrazenie s pohyblivým bodom nazýva sa reprezentáciou čísla N   v číselnom systéme so základňou q   v podobe :

N = m *. q p ,

kde m - multiplikátor obsahujúci všetky číslice čísla (mantisa), p   je celé číslo nazvané poradie.

Ak je "plávajúci" bod umiestnený v mantise pred prvou významnou číslicou, potom s pevným počtom číslic vyhradených pre mantisu možno zaznamenať maximálny počet významných číslic čísla, to znamená maximálnu presnosť v reprezentovaní čísla v aute.

Ak v mantise je prvá číslica za bodom (čiarka) nenulová, potom sa toto číslo volá normalizovaná .

Mantissa a poriadok q -ročné číslo sa zvyčajne zaznamenáva v systéme so základňou q , a samotná základňa je v desiatkovej sústave.

Príklad 4.5.  Uveďte príklady normalizovanej reprezentácie čísla v desiatkovej sústave:

2178.01 =0.217801 * 10 4

0.0045 =0.45 * 10 -2

Binárne príklady:

10110,01 = 0,1011001 * 2 101 (poradie 101 2 = 5 10)

Moderné počítače podporujú niekoľko medzinárodných štandardných formátov ukladania pre reálne čísla s pohyblivou rádovou čiarkou, ktoré sa líšia presnosťou, ale všetky majú rovnakú štruktúru. Skutočné číslo je uložené v troch častiach: označenie mantisy, posunutý poriadok a mantisa:

Ofsetová objednávka n-bitové normalizované číslo sa vypočíta takto: ak je pre úlohu objednávky zvýraznená k  bity, potom skutočná hodnota poradia prezentovaného v dodatočnom kóde, pridajte offset rovný (2 k -1 -1).

Takže poradie, ktoré odoberá hodnoty v rozmedzí od -128 do +127, sa prevedie na poradie ofsetu v rozmedzí od 0 do 255. Poradie offsetu sa uloží ako nepodpísané číslo, čo zjednodušuje porovnanie, pridávanie a odčítanie objednávok a tiež zjednodušuje operáciu porovnávania normalizované čísla samotné.

Počet číslic priradených k objednávke ovplyvňuje rozsah od najmenšieho nenulového čísla po najväčšie číslo, ktoré môže byť v danom formáte reprezentované v aute. Je zrejmé, že čím viac čísel je priradených mantiske, tým vyššia je presnosť čísla. Vzhľadom k tomu, že v normalizovaných reálnych číslach je vysoký bit mantisy vždy 1, tento vysoký bit nie je uložený v pamäti.

Akékoľvek binárne celé číslo obsahuje najviac m  výboje je možné konvertovať na skutočný formát bez skreslenia.

Tabuľka 4.3. Štandardné formáty na reprezentáciu reálnych čísel

Príklad 4.6.Zastúpenie normalizovaných čísel v jednom formáte.

Uvádzame, ako bude uložené číslo 37.16 10. Pri prechode na binárne číslo zlyhá presný preklad 100101, (00101000111101011100) - čiastočná časť uzavretá v zátvorkách sa opakuje v danom období.

Prepočítame číslo do normalizovanej formy: 0.100101 (0010100011110101010000) * 2.110

Predstavte si skutočné číslo v 32-bitovom formáte:

1. Znak čísla "+" preto v bitke znakov (31) zadáme 0;

2. Ak chcete nastaviť poradie, priradíme 8 bitov, na skutočnú hodnotu poradia reprezentovaného v doplnkovom kóde pridáme offset (2 7 -1) = 127. Keďže objednávka je pozitívna, priamy objednávkový kód sa zhoduje s ďalším príkazom, vypočítame posunutú objednávku: 00000110 + 01111111 = 10000101

Zadáme výslednú zmenenú objednávku.

3. Prinášame mantisu pri odstraňovaní vysokého poriadku mantisy (vždy sa rovná 1);

zaujatý príkaz

mantisa

V tomto príklade sme dokázali preniesť iba 24 číslic, ostatné boli stratené so stratou presnosti pri reprezentácii čísla.

    Celé čísla sú najjednoduchšie číselné údaje, s ktorými počítač pracuje. Pri celých číslach existujú dve reprezentácie: nepodpísané (len pre negatívne celočíselné znaky) a podpísané. Je zrejmé, že záporné čísla môžu byť reprezentované iba 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 bity bunky priradené k reprezentácii samotného čísla. Napríklad v byte (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 celočíselných typoch.  Pri podpísanej reprezentácii je najvýznamnejší (ľavý) bit priradený znaku čísla, zvyšné číslice 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", pri 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 len obsahom znakového bitu. Ale záporné celé čísla nie sú v počítači zobrazené prostredníctvom priameho kódu, takzvaného doplnkový kód. Doplnkový 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í ne záporných čí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 nesignovaným vyjadrením bude vyzerať takto:

Pri reprezentovaní celých čísel s označením 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) pre počítač. 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á len na prirodzených číslach, ktoré sa nazývajú prirodzené čísla: 1, 2, 3, 4, ... Dlho sa dospelo k názoru, že existuje najväčší počet, "viac než to, aby sme rozmýšľali nad ľudskou mysľou, aby sme rozumeli" (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á. S objavením sa 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 čísel 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 ďalšie nekonečné množstvo 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é.

Nepodpísané celé čísla - to je veľa 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šší bit pamäťovej bunky uloží znamienko čí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 prenose do systému binárnych čísel a zapísané do 16-bitovej pamäťovej bunky bude mať nasledujúce interné znázornenie:

Záporné celé čísla sú reprezentované v dodatočnom kóde. Doplnkový kód  pozitívne čísla N  - to je to je jeho binárne zobrazenie, ktoré pri pridaní kódu s číslom N dáva hodnotu 2  k, tu k  - počet číslic v pamäťovej bunke. Napríklad dodatočný kód pre číslo 255 je nasledujúci:

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


Jednotka vo vysokom poradí "vynechala" bunku, takže suma sa ukázala ako nula. Ale malo by to byť: N + (–N) = 0. Počítačový procesor vykonáva 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 ako 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.

počítačovej pamäte mantisa reprezentované ako celé číslo obsahujúce iba významné číslice  (Celok a čiarka nie sú uložené). Preto sa interné znázornenie skutočného čí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 variantov internej reprezentácie reálneho čísla v pamäťovej bunke so štyrmi bytmi.

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 bajtu obsahuje objednávka strojov, Nasledujúce tri bajty ukladajú významné číslice mantisy (24 bitov).

V siedmich binárnych číslach sa umiestnili 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). Iba 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 stroja  posunutý v porovnaní s matematickou hodnotou a má len pozitívne hodnoty. Posun je zvolený tak, aby minimálna matematická hodnota poradia zodpovedala nule.

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

Výsledný vzorec je napísaný v desatinných číslach. V binárnom systéme je vzorec: Mp 2 = p 2 + 100 0000 2.

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

1) preložiť modul daného čísla do binárneho číselného systému s 24 platnými číslicami,

2) normalizovať binárne číslo,

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

4) berúc do úvahy znamienko čísla, napíšte jeho vyjadrenie v strojnom slove so štyrmi bajtami.

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

  rozhodnutie

1. Preložte ho do systému binárnych čísel s 24 platný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ú napí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 reprezentáciu čísla do štvorbajtovej pamäťovej bunky, berúc do úvahy znak čísla

Hexadecimálna forma: 48FA3000.

Rozsah reálnych čísel je oveľa š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ší 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.

Pri strojnom slove 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 je pri výpočtoch s reálnymi čísla výsledok mimo prijateľného rozsahu, vykonanie programu sa preruší.  Stane sa to napríklad pri rozdelení nulou alebo veľmi malým počtom blízko nuly.

Reálne čísla, ktorých bitová hĺbka mantišky presahuje počet číslic priradených mantissovi v pamäťovej bunke, sú približne reprezentované v počítači (s "orezanou" mantišou). 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 čísel 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 čísiel mantisy, ako bolo 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álna hodnota objednávky. Pre uvedenú možnosť prezentácie ( t = 24, U = 63,
  L
  = -64). 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) Písanie nuly až 16 bitov vľavo, dostaneme interné zastúpenie 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 k výslednému číslu 1.

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

rozhodnutie

Je užitočné ukázať študentom, ako vyzerá interná reprezentácia najmenšieho negatívneho čí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) píšeme reverzný kód:

3) pridajte jedno k tomuto binárnemu číslu

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.

Náhodné články

hore