Reprezentácia čísel v počítači. Otázky a úlohy

Domov / Operačné systémy

Prezentácia informácií na počítači.

1. Celočíselná reprezentácia

2. Reprezentácia reálnych čísel

3. Prezentácia textové informácie

4. Prezentácia grafických a video informácií

5. Prezentácia zvukových informácií

6. Metódy kompresie digitálnych informácií

Od konca 20. storočia, storočia informatizácie, ľudstvo používa systém binárnych čísel každý deň, pretože všetky informácie spracovávané modernými počítačmi sú prezentované v binárnej forme.

Každý register aritmetického zariadenia počítača, každá pamäťová bunka je fyzický systém pozostávajúci z určitého počtu homogénnych prvkov, ktoré majú dva stabilné stavy, z ktorých jeden zodpovedá nule a druhý jednému. Každý takýto prvok sa používa na zaznamenanie jedného z bitov binárneho čísla. Preto sa každý prvok bunky nazýva číslica.

(k-1) číslica ……… 1. kategória 0. číslica

Obr.1 Bunka s k-číslicou.

Počítačová technika vznikla ako prostriedok automatizácie výpočtov, preto sa prvé počítače nazývali počítače – elektronické počítače. Počítače dnes spracúvajú rôzne druhy informácií: číselné, textové, zvukové, grafické. Avšak moderný počítač môže iba uchovávať a spracovávať diskrétne informácie. Preto každý druh informácie, ktorý je predmetom počítačového spracovania, musí byť zakódovaný tak či onak pomocou konečnej postupnosti celých čísel, ktoré sa potom prevedú do binárnej formy na uloženie v počítači.

V tejto prednáške sa pozrieme na to, ako sa rieši problém prevodu zdrojovej informácie do počítačovej reprezentácie pre každý typ informácie. Ukáže sa, ako presne počítačová reprezentácia odráža pôvodnú informáciu a slovo „presne“ tu platí nielen pre čísla (presnosť zobrazenia), ale aj pre iné typy informácií. Do úvahy sa berú najmä miera realizmu v prenose farebných odtieňov na monitore, miera blízkosti reprodukovanej hudby k prirodzenému zvuku hudobných nástrojov alebo ľudského hlasu a pod počítačová informácia sa nazýva úloha odber vzoriek alebo kvantovanie. Tento problém je potrebné vyriešiť pre všetky typy informácií. Metódy vzorkovania pre rôzne typy informácií sú rôzne, ale prístupy k riešeniu tohto problému sú založené na rovnakých princípoch.



Reprezentácia celých čísel.

Akékoľvek celé číslo možno považovať za reálne číslo, ale s nulovou zlomkovou časťou, to znamená, že by sme sa mohli obmedziť na reprezentáciu reálnych čísel v počítači a vykonávanie aritmetických operácií na nich. Na efektívne využitie pamäte, zvýšenie rýchlosti výpočtov a zavedenie operácie delenia celým číslom so zvyškom sú však celé čísla reprezentované špeciálne navrhnutými spôsobmi.

Zavedenie špeciálnych metód na reprezentáciu celých čísel je odôvodnené skutočnosťou, že v problémoch riešených pomocou počítača sa veľa operácií často redukuje na operácie s celými číslami. Napríklad v problémoch ekonomického charakteru je údajom počet akcií, zamestnancov, dielov, vozidiel atď., ktoré sú vo svojom význame celé čísla. Celé čísla sa používajú na označenie dátumu a času, ako aj na číslovanie rôznych objektov: prvkov polí, záznamov v databázach, adries strojov atď.

Na počítačovú reprezentáciu celých čísel sa zvyčajne používa niekoľko rôznych metód reprezentácie, ktoré sa navzájom líšia počtom číslic a prítomnosťou alebo absenciou znakovej číslice. Reprezentáciu bez znamienka možno použiť len pre nezáporné celé čísla.

Pri reprezentácii bez znamienka sú všetky bity bunky priradené samotnému číslu. Pri znázornení znamienkom je najvýznamnejšia (ľavá) číslica priradená znamienku čísla, zvyšné číslice sú priradené samotnému číslu. Ak je číslo kladné, potom sa do bitu so znamienkom umiestni 0, ak je číslo záporné, potom sa do buniek rovnakej veľkosti umiestni 1. Je zrejmé, že v bunkách rovnakej veľkosti môžete reprezentovať väčší rozsah nezáporných celých čísel v reprezentácii bez znamienka. podpísané čísla. Napríklad do jedného bajtu (8 bitov) môžete zapísať kladné čísla od 0 do 255 a so znamienkom - iba do 127. Ak teda vopred viete, že určitá číselná hodnota je vždy nezáporná, potom je výhodnejšie považovať ho za nepodpísaný.

Hovorí sa, že celé čísla v počítači sú uložené vo formáte c pevný bod(iný výklad - pevný bod).

Reprezentácia kladných celých čísel.

Aby sme získali počítačovú reprezentáciu celého čísla bez znamienka v k-bitovej pamäťovej bunke, stačí ho previesť do binárnej číselnej sústavy a výsledný výsledok vľavo doplniť nulami až k číslicami. Je jasné, že počet čísel, ktoré môžeme zapísať do k-bitovej bunky, je obmedzený.

Maximálne reprezentovateľné číslo zodpovedá jednotkám vo všetkých čísliciach bunky (binárne číslo pozostávajúce z k jednotiek). Pre k-bitovú reprezentáciu sa bude rovnať 2 k - 1. Minimálny počet je reprezentovaný nulami vo všetkých čísliciach bunky, vždy sa rovná nule. Nižšie sú uvedené maximálne čísla pre reprezentáciu bez znamienka pre rôzne hodnoty k:

So znamienkovou reprezentáciou celých čísiel, pojmov ako napr dopredu, dozadu a doplnkové kódy .

Definícia 1. Reprezentácia čísla vo forme známej ľuďom “ znamenie-veľkosť “, v ktorom je najvýznamnejšia číslica bunky priradená znamienku, zvyšok k - 1číslice - pod číslicami čísla, volal priamy kód.

Napríklad priame kódy binárnych čísel 11001 2 A -11001 2 pre osembitovú bunku sú rovnaké 00011001 A 10011001 resp. Kladné celé čísla sú reprezentované v počítači pomocou priameho kódu. Priamy kód záporného celého čísla sa líši od priameho kódu zodpovedajúceho kladného čísla v obsahu znamienkového bitu. Ale namiesto priameho kódu, počítače používajú dvojkový doplnkový kód na reprezentáciu záporných celých čísel.

Všimnite si, že maximálne kladné číslo, ktoré je možné zapísať podpísanou notáciou v k čísliciach, je 2 k-1 - 1 čo je takmer dvakrát menej ako maximálny počet v reprezentácii bez znamienka v rovnakých k bitoch.

Otázka 1. Je možné reprezentovať číslo 200 so znamienkom v 8-bitovej bunke?

Otázky.

  1. Zdôvodnite realizovateľnosť reprezentácie celých čísel špeciálnym spôsobom na počítači.
  2. Uveďte príklad vynásobenia dvoch kladných čísel obmedzeným počtom číslic, výsledkom čoho je záporné číslo.
  3. Uveďte a vysvetlite všetky chyby, ktoré sa môžu vyskytnúť pri vykonávaní aritmetických operácií s celými číslami v počítačovej aritmetike v obmedzenom počte číslic.
  4. Ukážte, ako vám pomocou kódu dvojkového doplnku môžete nahradiť operáciu odčítania operáciou sčítania.
  5. Do osemmiestnej bunky zapíšte dodatočné kódy nasledujúcich binárnych čísel: a) -1010; b) -1001; c) -11; d) -11011.
  6. Dá sa podľa tvaru doplnku čísla zistiť, či je párne alebo nepárne?
  7. Nájdite desatinné ekvivalenty záporných čísel zapísaných v dvojke: a) 11000100; b) 11111001.
  8. Ktoré z čísel 43 16, 101010 2, 129 10 a -135 10 možno uložiť do jedného bajtu (8 bitov)?
  9. Získajte 16-bitovú reprezentáciu nasledujúcich čísel: a) 25; b) -610.
  10. Pre čísla A = 1110 2, B = 1101 2 vykonajte nasledujúce operácie: A + B; A - B; B - A; -A - A; -B - B; -A - B (v osembitovej reprezentácii so znamienkom).

Otázky.

1. Napíšte nasledujúce desatinné čísla v normalizovanom tvare:

a) 217,934; c) 10,0101; b) 75321; d) 0,00200450.

2. Zredukujte nasledujúce čísla do normalizovaného tvaru pomocou základov ich číselných sústav ako P:

a) -0,0000010111012;

b) 98765432У 10;

c) 123456789,ABCD 16.

3. Porovnajte nasledujúce čísla:

a) 318,4785 × 10 9 a 3,184785 × 10 11;

b) 218,4785 x 10-3 a 21847,85 x 10-4;

c) 0,1101 2 × 2 2 a 101 2 × 2 -2.

4. Porovnajte rozsah reprezentácie čísel s pohyblivou rádovou čiarkou v 32-bitovom formáte (24 bitov pre mantisu a 6 bitov pre modul) s rozsahom reprezentácie čísel s pevnou rádovou čiarkou v rovnakom formáte.

5. Aké sú výhody počítačovej reprezentácie čísel s pohyblivou rádovou čiarkou oproti reprezentácii s pevnou rádovou čiarkou, ktorú najčastejšie používame každodenný život?

6. Vykonajte nasledujúce aritmetické operácie s desiatkovými normalizovanými číslami podľa pravidiel skutočnej počítačovej aritmetiky (v mantise musí byť uložených 6 platných číslic):

a) 0,397621 x 103 + 0,237900 x 101;

b) 0,982563 x 102 - 0,745623 x 102;

c) 0,235001 x 102 0,850000 x 103;

d) 0,117800 x 102: 0,235600 x 103.

Pri vykonávaní tejto úlohy by ste mali normalizovať mantisu výsledku zodpovedajúcej aritmetickej operácie a potom ju zaokrúhliť

7. Vykonajte operáciu na strojových kódoch čísel s pohyblivou rádovou čiarkou v 32-bitovom formáte: X = A + B, kde A = 125,75 a B = -50.

8. Uveďte a vysvetlite všetky chyby, ktoré sa môžu vyskytnúť pri aritmetických operáciách s normalizovanými číslami v obmedzenom počte číslic.

Kvantovanie farieb.

Ako už bolo spomenuté vyššie, grafické informácie prírodného pôvodu musia byť pri vstupe do počítača podrobené operáciám priestorového vzorkovania a kvantovania farieb.

Kvantovanie (kódovanie) farby je založené na matematickom popise farby, ktorý sa zasa spolieha na to, že farby je možné merať a porovnávať. Vedecká disciplína, ktorá sa zaoberá meraním farebných charakteristík, je tzv farebná metrológia, alebo kolorimetria. Človek má veľmi zložité vnímanie farieb, stačí si všimnúť, že zrakové centrá mozgu u novorodencov strávia niekoľko mesiacov (!) len tréningom, aby videli. Preto je matematický popis farby tiež veľmi netriviálny.

Vedci na dlhú dobu nebolo možné vysvetliť proces vnímania farieb. Až do polovice 17. storočia prevládala Aristotelova špekulatívna teória, podľa ktorej všetky farby vznikajú zmiešaním čiernej s bielou. Prvé vážne výsledky v tejto oblasti dosiahol Isaac Newton, ktorý opísal zloženú povahu bieleho svetla a zistil, že spektrálne farby sú nerozložiteľné a že zmiešaním spektrálnych farieb je možné syntetizovať bielu farbu a všetky druhy odtieňov iných farieb. Newton identifikoval sedem najvýraznejších spektrálnych farieb v spektre bieleho svetla a nazval ich hlavnými - červená, oranžová, žltá, zelená, modrá, indigová a fialová. Asi o pol storočia neskôr, v roku 1756, vynikajúci ruský vedec M.V. Lomonosov sformuloval takzvanú trojzložkovú teóriu farieb, zhrnul obrovský empirický materiál, ktorý nazhromaždil pri vývoji technológie výroby farebného skla a mozaík. Pri skúmaní problematiky farbenia skla Lomonosov zistil, že na to, aby sklo akéhokoľvek M. V. Lomonosova (1711-1765) získalo farebný odtieň, stačí použiť iba tri základné farby, ktoré sa zmiešajú v určitých pomeroch. Asi o storočie neskôr zaviedol vynikajúci nemecký vedec Hermann Grassmann (1809-1877) do trojzložkovej teórie farieb matematický aparát v podobe Grassmannových zákonov na aditívnu syntézu farieb. Najdôležitejšie z nich sú nasledujúce dva zákony.

Zákon trojrozmernosti: pomocou troch lineárne nezávislých farieb možno jedinečne vyjadriť akúkoľvek farbu. Farby sa považujú za lineárne nezávislé, ak žiadnu z nich nemožno získať zmiešaním ostatných.

Zákon kontinuity: keď sa zloženie farebnej zmesi plynule mení, plynule sa mení aj výsledná farba. Môžete si vybrať nekonečne blízku farbu akejkoľvek farbe.

Základom kolorimetrie sa stala trojzložková teória farieb, no opodstatnenie tejto teórie sa objavilo až na prelome 19. – 20. storočia, po preštudovaní fyziológie zrakových orgánov.

Grassmannove kolorimetrické zákony stanovujú všeobecné vlastnosti matematické modely farby. V skutočnosti Grassmannove zákony predpokladajú, že akákoľvek farba môže byť jednoznačne spojená s určitým bodom v trojrozmernom priestore. Body v priestore, ktoré zodpovedajú farbám vnímaným ľudským okom, tvoria v priestore určité vypuklé teleso. Absolútna čierna vždy zodpovedá bodu (0, 0, 0). Farby si teda možno predstaviť ako body alebo vektory v trojrozmernom farebnom priestore. Každý farebný model v sebe definuje určitý súradnicový systém, v ktorom primárne farby modelu zohrávajú úlohu základných vektorov. A kvantovanie farieb je v podstate diskretizácia farebného priestoru.

IN výpočtovej techniky Najčastejšie používané farebné modely sú:

  • RGB (červená-zelená-modrá, červeno-zeleno-modrá).
  • CMYK (Cyan-Magenta-Yellow-blacK, azúrová-purpurová-žltá-čierna).
  • HSB (Hue-Saturation-Brightness, hue-saturation-brightness).

Aby sme odstránili nejednoznačnosť vo výklade pojmov „jas“, „sýtosť“, „farebný odtieň“, vysvetlíme si ich.

Jas je charakteristika farby, ktorej definícia sa v podstate zhoduje s každodenným konceptom jasu a fyzikálnym konceptom osvetlenia alebo svietivosti. Jasná červená, červená a tmavočervená farba sa presne líši jasom. Z fyzikálneho hľadiska je jas kvantitatívna miera toku svetelnej energie emitovanej alebo odrazenej objektom smerom k pozorovateľovi. Takže pri jasnom slnečnom svetle a za súmraku vyzerá rovnaký farebný vzor inak. V tomto prípade sa farebné odtiene nemenia, iba jas farieb je iný.

Farebný odtieň a sýtosť sú dve ďalšie nezávislé charakteristiky farby. Poďme mať sadu farieb rôznych farieb. Zmiešaním rôznych farieb medzi sebou získame nové farby. Napríklad zmes rovnakých množstiev žltej a modrej farby vytvorí zelenú farbu. Odtieň alebo odtieň predmetného objektu súvisí so spektrálnym zložením žiarenia. Podľa farebného tónu predmetu môžeme posúdiť farbu predmetu – modrá, zelená, červená atď. Určité časti viditeľného spektra spôsobujú vnem rôznych farieb.

Sýtosť charakterizuje stupeň „zriedenia“ farebného tónu bielou. Napríklad, ak sa jasne červená (nasýtená) farba zriedi bielou, jej farebný odtieň zostane rovnaký, zmení sa iba sýtosť. Presne tak isto má hnedá, žltá a citrónová rovnaký farebný odtieň – žltý, ich rozdiel spočíva v sýtosti farebného odtieňa. Svetlo z monochromatického zdroja má najväčšiu sýtosť.

Všimnite si, že pre biele a čierne farby je sýtosť 0 %, t.j. tieto farby nemajú sýtosť. Preto ich zmiešaním s farebnou farbou meníme jej sýtosť, nie jej odtieň.

RGB farebný model.

V modeli RGB sú primárne farby červená, zelená A modrá. Tento model používa sa hlavne pri zobrazovaní grafické obrázky na obrazovke monitora, televízora, mobilný telefón atď. Zmiešaním troch základných farieb sa syntetizujú všetky ostatné farby, ich podmienený jas (intenzita) je určený reálnymi číslami od 0 do 1 (hodnota 1 zodpovedá maximálnemu jasu zodpovedajúcej farby, ktorý dokáže grafické zariadenie zobraziť) . RGB model definuje farebný priestor vo forme jednotkovej kocky s osami „jas červenej zložky“, „jas zelenej zložky“ a „jas modrej zložky“.


Charakteristické vlastnosti modelu RGB

Ktorýkoľvek bod kocky ( r, g, b ) definuje určitú farbu.

Bod (0, 0, 0) zodpovedá čiernej, bod (1, 1, 1) bielej a čiara (0, 0, 0) - (1, 1, 1) opisuje všetky odtiene sivej: od čierne na biele.

Pri pohybe po priamke z (0, 0, 0) cez bod ( r, g, b) získame všetky stupne jasu farieb ( r, g, b), od najtmavšej po najjasnejšiu. Napríklad (1/4, 1/4, 0) - tmavo hnedá, (1/2, 1/2, 0) - hnedá, (3/4, 3/4, 0) - žltohnedá, ( 1 , 1, 0) - žltá.

Na tvárach kocky ( r = 0}, {g = 0) a ( b = 0) nachádzajú sa najsýtejšie farby.

Čím bližšie je bod k hlavnej uhlopriečke (0, 0, 0)-(1, 1, 1), tým menej nasýtená je zodpovedajúca farba.

Farebný model RGB má fyziologický základ. Ľudské oko obsahuje štyri typy zrakových receptorov: tyčinky (receptory intenzity) a

tri typy „kužeľov“ (farebné receptory). Každý typ kužeľa je citlivý na svetlo vo svojom vlastnom úzkom rozsahu vlnových dĺžok, pre čapíky rôzne typy Maximálne hodnoty citlivosti sa vyskytujú pri rôznych vlnových dĺžkach, rozsahy citlivosti sa čiastočne prekrývajú:

Práve vďaka nerovnomernej spektrálnej citlivosti a prekrývajúcim sa rozsahom citlivosti je ľudské oko schopné rozlíšiť obrovské množstvo farieb (asi 10 miliónov).

Ak vyšlete do oka zložený svetelný signál so správne zvoleným pomerom jasu červenej, zelenej a modrej farby, zrakové centrá mozgu nebudú schopné rozlíšiť substitúciu a dospejú k záveru, že je pozorovaná požadovaná farba. ! Tento mechanizmus syntézy farebných odtieňov sa používa vo všetkých moderných typoch farebných monitorov, televízorov a displejov mobilných telefónov.

Pre použitie matematického RGB modelu pre reálnu počítačovú reprezentáciu grafickej informácie je potrebné kvantovať farebný priestor, t.j. nájsť spôsob, ako reprezentovať reálne hodnoty jasu farebných zložiek v diskrétnej forme.

Najjednoduchšie to dosiahneme prevodom reálnych čísel z intervalu = 100 – 43 = 57 C = 95 + [-B dk ] – 100 = – 100 = 152 – 100 = 52 Jednotka najvýznamnejšej číslice súčtu. možno jednoducho prečiarknuť. Je potrebné nájsť spôsob, ako získať sčítanie ľubovoľného čísla X do q n bez použitia odčítania: C = A – B = A + (-B) = A + (-B) + q n – q n = A +(q n -1- B)- q n + 1 Výraz q n – 1 – B určuje číslo B získané nahradením každej číslice čísla B jej pripočítaním k číslu q –1. Takže, = = 999. Obrátený kód B sa nazýva spätný kód čísla B; q n -1 - konštanta tvorby spätného kódu


Z reverzného kódu je ľahké získať dodatočný kód: B + B = q n -1 q n - B = B + 1 Doplnkový kód reverzného kódu Doplnkový kód sa získa pripočítaním jednej k najmenej významnej číslici reverzného kódu. . Preto doplnky binárnych čísel možno nájsť bez operácie odčítania. V spätnom kóde, rovnako ako v doprednom kóde, je záporná a kladná nula. Iba v dvojkom doplnkovom kóde má nula jediné zastúpenie. Pre danú dĺžku bitovej mriežky predstavuje doplnkový kód o jedno záporných čísel viac ako kladných. Dohodnime sa, že priame, reverzné a dodatočné kódy čísla A označíme [A pk], [A ok], [A dk].


Príklad. Nájdite priame, spätné a doplnkové kódy čísel A = 34 a B = [A pk ]= , [A ok ]= , [A dk ]= [V pk ]= , [V ok ]= , [V dk ] = Algoritmus na získanie dodatočného kódu záporného čísla. 1. Prezentujte modul čísla v priamom kóde v k binárnych číslic. 2. Invertujte hodnoty všetkých bitov: nahraďte všetky nuly jednotkami a jednotky nulami (čím získate k-bitový reverzný kód pôvodného čísla); 3. Do výsledného reverzného kódu pridajte jednotku, interpretovanú ako k-bitové nezáporné binárne číslo.


Príklady. 1. Dané záporné celé číslo desiatkové číslo M = -20. Predstavuje číslo v strojovom kóde v 16-bitovej mriežke v binárnych a hexadecimálnych číselných sústavách. M = -20 = 2 = 2 = 2 = 16 = FFEC


2. Celé číslo je uvedené vo forme hexadecimálneho binárneho strojového kódu. Určte desatinnú hodnotu tohto čísla: K a =FFD4 Prvá číslica je F, preto je číslo záporné a je uložené v počítači vo forme dodatočného strojového kódu. FFD4 16 = [ dk ] [ ok ] – reverzný kód čísla PC = [ pk ] – priamy binárny kód čísla Potom desiatkové číslo a = = - (32+8+4) = -44 – desiatkové číslo


Metóda 2: cez hexadecimálnu číselnú sústavu K a =FFD4


Akcie na strojových kódoch celých čísel Dané: desatinné čísla A = 34 a B = 30 Nájdite: A+B, A – B, B – A v binárnych strojových kódoch v 8-bitovej mriežke.


= [A ok ] = [A dk ] = [-A pk ] = [-A ok ] = [-A dk ] = [-B pk ] = [-B ok ] = [-V dk ] = [V pk ] = [V ok ] = [V dk ] =


[A + B] nevie = = A + B = 64 [A – B] nevie = = A – B = 4 [B – A] nevie = =




Činnosti na strojových kódoch čísel s pevnou desatinnou čiarkou (v hexadecimálnom číselnom systéme) Dané: desatinné čísla A = 34 a B = 30 Nájdite: A+B, A – B, B – A v hexadecimálnych strojových kódoch v 16-bitovej mriežke. 1) A=34=22 16 V=30=1E 16 pk = PC =001E 16 K A + K B = E = A + B = 64 2) PK =801E 16 DK = E 16 = FFE2 16 K A + K B = FFE2 = A - B = = 4


Príklady Reálne čísla môžu byť reprezentované ako strojové kódy čísel s pohyblivou rádovou čiarkou v 32-bitovej mriežke za 16 s/s: a) A=32008,5b) B= 0,5 c) C= ​​15d) D= Nájdime normalizované mantisy a charakteristiky týchto čísel: a ) А=32008,5=7D08,8 16 =0,7D m A =0,7D088p xA =4+40=44 16 = Znamienko- 0 Charakteristika Zlomková časť mantisy Normalizovaná mantisa Charakteristika K A = = = 43FA > 0 0">


B) B= ,5= -7D08,8 16 = - 0,7D m B = -0,7D088p xB =4+40=44 16 = Znamienko- 1 Charakteristika Zlomková časť mantisy Normalizovaná mantisa Charakteristika K B = = = C3FA


0 14 16 c) D= - = - 0,9 16 m B =0,9 16 p xB =40+0=40" title="c) C= ​​​​15 =F,E 16 m c =0 ,FE 16 p xA =40+1=41 16 Znamienko - 0 Charakteristika - 1000001 Zlomková časť - 1111 1110 0000 0000 0000 0000 mantisa K C = 0,1000001,1111 1110 000 = 00000000000000 0 16 > 0 14 16 c) D = - = - 0,9 16 m B = 0,9 16 p xB = 40 + 0 = 40" class="link_thumb"> 28 !} c) C= ​​​​15 =F,E 16 m c =0,FE 16 p xA =40+1=41 16 Znamienko - 0 Charakteristika Zlomková časť mantisy K C = = =41FE > c) D= - = - 0,9 16 m B =0,9 16 p xB =40+0=40 16 Znak- 1 Charakteristika Zlomková časť mantisy K D = = C 0 14 16 c) D= - = - 0,9 16 m B =0,9 16 p xB = 40+ 0=40"> 0 14 16 c) D= - = - 0,9 16 m B =0,9 16 p xB =40+0=40 16 Znamienko - 1 Charakteristika - 1000000 zlomková časť - 1001 0000 0000 00000000000000000000000000000000000000.1001 0000 0000 0000 0000 0000 2 = C0900000 16 0 14 16 c) D= - = - 0,9 16 m B =0,9 16 p xB =40+0=40" title=") (!С1 =в title=") 0 000 2 = =41FE0000 16 > 0 14 16 c) D= - = - 0,9 16 m B =0,9 16 p xB =40+0=40"> title="c) C= ​​​​15 =F,E 16 m c =0,FE 16 p xA =40+1=41 16 Znamienko - 0 Charakteristika - 1000001 Zlomková časť - 1111 1110 0000 0000 0000 0000 mantisa 10 K 10 1010,0 0000 0000 0000 2 = =41FE0000 16 > 0 14 16 c) D= - = - 0,9 16 m B =0,9 16 p xB =40+0=40">!}


Akcie s číslami prezentovanými v exponenciálnom tvare 1. Čísla v exponenciálnom tvare sú uložené v pamäti v priamom kóde s normalizovanými mantisami. 2. Pridávanie kódov sa vykonáva pridávaním mantis len s rovnakými rádmi (charakteristikami) termínov. Najvyššie poradie sa vyberie ako celkové poradie. 3. Algoritmy pre operáciu algebraického sčítania po vyrovnaní charakteristík závisia od znamienka členov. 4. Výsledky v priamom kóde sú normalizované.


Príklady Vykonajte pridanie strojového kódu čísel s pohyblivou rádovou čiarkou A a B na 32-bitovej mriežke. Ako odpoveď zapíšte kód výsledku (v 2. a 16. s/s) a desatinné číslo zodpovedajúce tomuto kódu 1)K A =43.F34000K B = C1.A13000 a)m A =00.F34m B =00 .A13 P Ax =43P Bx =41 => P =2 => m B =00,00A13 – PC _ A13 FF.FF5ED b)m A +m B = 00.F34 FF.FF5ED 100.F29ED > 0 => m A+ B = 00,F29ED P =2 => m B =00,00A13 – PC _100,00000 00,00A13 FF.FF5ED b)m A +m B = 00.F34 FF.FF5ED 100.F29ED > 0 => m A+B = 00.F29ED" >


PA+B = 3A+B = 0.F29ED = F29,ED16 = /16+13/256 = /256 K A+B = = = 43.F29ED0

kľúčové slová:

  • vypúšťanie
  • reprezentácia celého čísla bez znamienka
  • reprezentácia celého čísla so znamienkom
  • reprezentácia reálnych čísel
  • formát s pohyblivou rádovou čiarkou

1.2.1. Celočíselná reprezentácia

Počítačová pamäť pozostáva z buniek, z ktorých každá je fyzickým systémom pozostávajúcim z určitého počtu homogénnych prvkov. Tieto prvky majú dva stabilné stavy, z ktorých jeden zodpovedá nule a druhý jednému. Každý takýto prvok slúži na uloženie jedného z bitov – číslic binárneho čísla. Preto sa každý prvok bunky nazýva bit alebo číslica (obr. 1.2).

Ryža. 1.2. Pamäťová bunka

Na počítačovú reprezentáciu celých čísel sa používa niekoľko rôznych spôsobov reprezentácie, ktoré sa navzájom líšia počtom číslic (celým číslam sa zvyčajne prideľuje 8, 16, 32 alebo 64 číslic) a prítomnosťou alebo absenciou znakovej číslice. Reprezentáciu bez znamienka možno použiť len pre nezáporné celé čísla.

Rozšírené v výpočtovej techniky prijal nepodpísané údaje. Patria sem objekty ako adresy buniek, rôzne počítadlá (napríklad počet znakov v texte), ale aj čísla označujúce dátum a čas, veľkosť grafických obrázkov v pixeloch atď.

Maximálna hodnota nezáporného celého čísla sa dosiahne, keď všetky bity bunky obsahujú jednotky. Pre n-bitovú reprezentáciu sa bude rovnať 2 n -1. Minimálny počet zodpovedá n núl uloženým v n bitoch pamäte a rovná sa nule.

Nasledujú maximálne hodnoty pre n-bitové celé čísla bez znamienka:

Na získanie počítačovej reprezentácie celého čísla bez znamienka stačí previesť číslo do binárnej číselnej sústavy a výsledný výsledok vľavo doplniť nulami na štandardnú kapacitu číslic.

Príklad 1. Číslo 53 10 = 110101 2 v osemcifernom vyjadrení má tvar:

Rovnaké číslo 53 v šestnástich čísliciach bude napísané takto:

Pri znázornení znamienkom je najvýznamnejšia (ľavá) číslica priradená znamienku čísla, zvyšné číslice sú priradené samotnému číslu. Ak je číslo kladné, potom sa do znamienkového bitu umiestni O, ak je číslo záporné - 1. Táto reprezentácia čísel sa nazýva priamy kód. V počítačoch sa priame kódy používajú na ukladanie kladných čísel do pamäťových zariadení na vykonávanie operácií s kladnými číslami.

Webová stránka Federálneho centra pre informačné a vzdelávacie zdroje (http://fcior.edu.ru/) obsahuje informačný modul „Číslo a jeho počítačový kód" S týmto zdrojom môžete získať dodatočné informácie na študovanú tému.

Na vykonávanie operácií so zápornými číslami sa používa dodatočný kód, ktorý nahradí operáciu odčítania sčítaním. Algoritmus na generovanie dodatočného kódu môžete zistiť pomocou informačný modul„Dodatočný kód“ uverejnený na webovej stránke Federálneho centra pre informačné a vzdelávacie zdroje (http://fcior.edu.ru/).

1.2.2. Reprezentácia reálnych čísel

Akékoľvek reálne číslo A možno zapísať v normálnej (vedeckej, exponenciálnej) forme:

A = ± m q p ,

    m - mantisa čísla;

    p - poradie čísel.

Napríklad číslo 472 000 000 môže byť reprezentované takto: 47,2 10 7, 472 10 6, 4720 10 7 atď.

Možno ste sa stretli s bežnou formou písania čísel pri výpočtoch pomocou kalkulačky, keď ste ako odpoveď dostali záznamy v nasledujúcom tvare: 4,72E+8.

Znamienko „E“ tu označuje základ desiatkovej číselnej sústavy a číta sa ako „násobenie desiatimi na mocninu“.

Z vyššie uvedeného príkladu môžete vidieť, že pozícia desatinnej čiarky v čísle sa môže meniť. Preto sa reprezentácia reálnych čísel v normálnej forme v počítači nazýva reprezentácia s pohyblivou rádovou čiarkou.

Kvôli konzistencii sa mantisa zvyčajne píše ako správny zlomok s nenulovou číslicou za desatinnou čiarkou. V tomto prípade by číslo 472 000 000 bolo reprezentované ako 0,472 10 9

Číslo s pohyblivou rádovou čiarkou môže zaberať 32 alebo 64 bitov pamäte počítača. V tomto prípade sú bity pridelené na uloženie znaku mantisy, znaku objednávky, objednávky a mantisy.

Rozsah reprezentácie reálnych čísel je určený počtom bitov pridelených na uloženie poradia čísla a presnosť je určená počtom bitov pridelených na uloženie mantisy.

Maximálna hodnota poradia čísla, ako je vidieť z vyššie uvedeného príkladu, je 1111111 2 = 127 10, a preto maximálna hodnota čísla je:

0,11111111111111111111111 10 1111111

Skúste sami prísť na to, aký je desatinný ekvivalent tejto hodnoty.

Široká škála zobrazení s pohyblivou rádovou čiarkou je dôležitá pre vedecké a inžinierske problémy. Zároveň by sa malo chápať, že algoritmy na spracovanie čísel vo formáte s pohyblivou rádovou čiarkou sú náročnejšie na prácu v porovnaní s algoritmami na spracovanie celých čísel.

Najdôležitejšie

Na reprezentáciu celých čísel v počítači sa používa niekoľko rôznych metód, ktoré sa navzájom líšia počtom číslic (8, 16, 32 alebo 64) a prítomnosťou alebo absenciou znakovej číslice.

Aby reprezentovalo celé číslo bez znamienka, malo by sa previesť do binárneho číselného systému a výsledný výsledok by mal byť doplnený vľavo nulami na štandardnú kapacitu.

Pri znázornení znamienkom je najvýznamnejšia číslica priradená znamienku čísla, zvyšné číslice sú priradené samotnému číslu. Ak je číslo kladné, potom sa do znamienkového bitu umiestni 0, ak je číslo záporné, potom 1. Kladné čísla sú uložené v počítači v priamom kóde, záporné čísla v doplnkovom kóde.

Reálne čísla sú uložené v počítači vo formáte s pohyblivou rádovou čiarkou. V tomto prípade je ľubovoľné číslo napísané takto:

A = ± m q p ,

    m - mantisa čísla;

    q - základ číselnej sústavy;

    p - poradie čísel.

Otázky a úlohy

  1. Ako sú v pamäti počítača reprezentované kladné a záporné celé čísla?
  2. Akékoľvek celé číslo možno považovať za skutočné číslo, ale s nulovou zlomkovou časťou. Zdôvodnite uskutočniteľnosť špeciálnych spôsobov počítačovej reprezentácie celých čísel.
  3. Predstavujte číslo 63 10 v 8-bitovom formáte bez znamienka.
  4. Nájdite desiatkové ekvivalenty čísel pomocou ich priamych kódov napísaných v 8-bitovom formáte so znamienkom:
  5. Ktoré z čísel 443 8, 101010 2, 256 10 možno uložiť v 8-bitovom formáte?
  6. Napíšte nasledujúce čísla v prirodzenom tvare:

      a) 0,3800456 102;

      b) 0,245 10-3;

      c) 1,256900E+5;

      d) 9,569120E-3.

  7. Číslo 2010.0102 10 napíšte ako päť rôznymi spôsobmi v normálnom tvare.
  8. Nasledujúce čísla napíšte v normálnom tvare s normalizovanou mantisou - vlastným zlomkom, ktorý má za desatinnou čiarkou nenulovú číslicu:

    a) 217,934 10;

    c) 0,00101 10.

  9. Nakreslite schému spájajúcu základné pojmy uvedené v tomto odseku.

Existujú dva hlavné formáty na reprezentáciu čísel v pamäti počítača, jeden z nich sa používa na kódovanie celých čísel (reprezentácia čísla s pevnou desatinnou čiarkou), druhý sa používa na špecifikáciu určitej podmnožiny reálnych čísel (reprezentácia čísla s pohyblivou rádovou čiarkou). ). Pozrime sa na každý z formátov podrobnejšie.

1.1. Celočíselná reprezentácia

Akékoľvek celé číslo možno považovať za reálne číslo, ale s nulovou zlomkovou časťou, t. j. možno sa obmedziť na reprezentáciu reálnych čísel v počítači a vykonávanie aritmetických operácií na nich, ale pre efektívne využitie pamäte počítača, zvýšenie rýchlosti výpočtov a zavedenie celočíselnej operácie delenia Celé čísla sú reprezentované špeciálne navrhnutými spôsobmi.

Na počítačovú reprezentáciu celých čísel sa zvyčajne používa niekoľko rôznych metód, ktoré sa navzájom líšia počtom binárnych číslic a prítomnosťou alebo absenciou znakovej číslice.

Celé čísla v počítači sú uložené v pamäti vo formáte c. pevný bod. V tomto prípade každá číslica pamäťovej bunky vždy zodpovedá tej istej číslici a „čiarka“ je „umiestnená“ vpravo za najmenej významnou číslicou, t. j. mimo bitovej mriežky.

1.1.1. Celé čísla bez znamienka

Uvažujme o kódovaní celých čísel bez znamienka pomocou príkladu typu údajov byte v jazyku Základné A nepodpísané char v jazyku S++, ktorý zaberá jeden bajt v pamäti.

Na získanie počítačovej (internej) reprezentácie jednobajtového celočíselného nezáporného čísla ho stačí previesť do dvojkovej číselnej sústavy a výsledný výsledok, nazývaný priamy kód čísla, doplníme vľavo nuly až osem bitov.

Minimálny počet je reprezentovaný nulami vo všetkých čísliciach a rovná sa nule. Maximálne reprezentovateľné číslo zodpovedá jednotkám vo všetkých čísliciach bunky (binárne číslo pozostávajúce z ôsmich jednotiek sa rovná 255 (). Príklady kódovania jednobajtových celých čísel bez znamienka sú uvedené v tabuľke. 1.

Jednobajtové nezáporné celé čísla možno použiť napríklad na organizáciu rôznych počítadiel, záznam adries buniek, dátumu a času a veľkosti grafických obrázkov v pixeloch.

Aby sa zlepšila čitateľnosť vnútornej reprezentácie čísla, zapisuje sa v hexadecimálnej číselnej sústave.

Tabuľka 1

Príklady kódovania celých čísel bez znamienka

1.1.2. Celé čísla so znamienkom

Uvažujme o kódovaní celých čísel so znamienkom pomocou príkladu typu údajov celé číslo v jazyku Základné A int v jazyku S++, ktorý zaberá dva bajty (16 bitov) v pamäti.

Každý zo 16 bitov má špecifický účel, forma reprezentácie celého čísla so znamienkom je znázornená na obr. 1. Znamienko je priradené k najvýznamnejšej číslici bunky: 0 – pre kladné čísla, 1 – pre záporné čísla.

Na reprezentáciu celých čísel so znamienkom v počítači sa používa dodatočný kód, ktorý vám umožňuje nahradiť aritmetickú operáciu odčítania operáciou sčítania, čo výrazne zvyšuje rýchlosť výpočtov.

Aby sme pochopili, čo je doplnkový kód, pozrime sa na dopredné a spätné kódy.

Poznámka 1. Pre kladné čísla sa všetky tri kódy zhodujú s binárnou reprezentáciou čísla pomocou šestnástich binárnych číslic, s nulami napísanými v prázdnych čísliciach.

Ryža. 1. Forma celého čísla so znamienkom

Predstavme si algoritmus získanie dodatočného šestnásťbitového binárneho kódu záporného čísla.

1) Zapíšte si priamy kód záporného čísla v 16 binárnych čísliciach. Na to je potrebné previesť modul záporného celého čísla do dvojkovej číselnej sústavy a výsledný výsledok doplniť vľavo nulami do 16 bitov.

2) Napíšte opačný kód záporného čísla v 16 binárnych čísliciach. Za týmto účelom invertujte hodnoty všetkých bitov priameho kódu (všetky nuly nahraďte jednotkami a všetky jednotky nulami).

3) Zapíšte si doplnkový kód záporného čísla v 16 binárnych čísliciach. Ak to chcete urobiť, pridajte jednotku k spätnému kódu, ktorý sa považuje za šestnásťbitové nezáporné binárne číslo.

Poznámka 2. Recipročný kód záporného čísla je modul doplnku tohto čísla k číslu
a dodatočný kód je až do čísla
.

Príklady reprezentácie dvojbajtových celých čísel so znamienkom sú uvedené v tabuľke. 2.

Najmenšie záporné číslo, ktoré možno vyjadriť pomocou dvoch bajtov, je –32768.

Maximálne reprezentovateľné kladné číslo zodpovedá jednotkám vo všetkých bitoch bunky (binárne číslo pozostávajúce z nuly (v bite so znamienkom) a pätnástich jednotiek), rovná sa 32767 (
).

Tabuľka 2

Príklady reprezentácie dvojbajtových celých čísel so znamienkom

§ 1.2. Reprezentácia čísel v počítači

Reprezentácia čísel v počítači. Otázky a úlohy

1. Prečítajte si prezentačné materiály k odstavcu obsiahnutému v elektronickej prílohe učebnice. Tieto materiály použite pri príprave odpovedí na otázky a dokončovaní úloh.

2. Ako sú v pamäti počítača reprezentované kladné a záporné celé čísla?

3. Akékoľvek celé číslo možno považovať za reálne číslo, ale s nulovou zlomkovou časťou. Zdôvodnite uskutočniteľnosť špeciálnych spôsobov počítačovej reprezentácie celých čísel.

4. Reprezentujte číslo 63 10 v 8-bitovom formáte bez znamienka.

5. Nájdite desiatkové ekvivalenty čísel pomocou ich priamych kódov napísaných v 8-bitovom formáte so znamienkom:

    a) 01001100;
    b) 00010101.

6. Ktoré z čísel 443 8, 101010 2, 256 10 je možné uložiť v 8-bitovom formáte?

7. Napíšte nasledujúce čísla v prirodzenom tvare:

    a) 0,3800456 102;
    b) 0,245 10-3;
    a) 1,256900E+5;
    a) 9,569120E-3.

8. Napíšte číslo 2010.0102 10 piatimi rôznymi spôsobmi v exponenciálnom tvare.

9. Napíšte nasledujúce čísla v exponenciálnom tvare s normalizovanou mantisou - vlastným zlomkom, ktorý má za desatinnou čiarkou nenulovú číslicu:

    a) 217,934 10;
    b) 75321 10;
    c) 0,00101 10.

10. Nakreslite schému spájajúcu základné pojmy uvedené v tomto odseku.

Odpovede: Reprezentácia čísel v počítači

    9. a) 0,217934 103; b) 0,75321 105; c) 0,10110-2.

© 2024 ermake.ru -- O oprave PC - Informačný portál