Predstavljanje brojeva na računaru. Pitanja i zadaci

Dom / Operativni sistemi

Prezentacija informacija na računaru.

1. Cjelobrojni prikaz

2. Predstavljanje realnih brojeva

3. Prezentacija tekstualne informacije

4. Prezentacija grafičkih i video informacija

5. Prezentacija audio informacija

6. Metode kompresije digitalnih informacija

Od kraja 20. vijeka, stoljeća kompjuterizacije, čovječanstvo svakodnevno koristi binarni brojevni sistem, budući da se sve informacije koje se obrađuju savremenim računarima prikazuju u binarnom obliku.

Svaki registar kompjuterskog aritmetičkog uređaja, svaka memorijska ćelija je fizički sistem koji se sastoji od određenog broja homogenih elemenata koji imaju dva stabilna stanja, od kojih jedno odgovara nuli, a drugo jednom. Svaki takav element se koristi za snimanje jednog od bitova binarnog broja. Zato se svaki element ćelije naziva cifra.

(k-1)-ta cifra ……… 1. kategorija 0. cifra

Slika 1 Ćelija k-cifara.

Računarska tehnologija je nastala kao sredstvo za automatizaciju proračuna, zbog čega su prvi računari nazvani kompjuteri - elektronski računari. Danas računari obrađuju različite vrste informacija: numeričke, tekstualne, zvučne, grafičke. Međutim savremeni kompjuter može samo pohraniti i obraditi diskretne informacije. Stoga, bilo koja vrsta informacija koja je predmet kompjuterske obrade mora biti kodirana na ovaj ili onaj način korištenjem konačnog niza cijelih brojeva, koji se zatim pretvara u binarni oblik za skladištenje u kompjuteru.

U ovom predavanju ćemo pogledati kako se rješava problem pretvaranja izvorne informacije u kompjutersku reprezentaciju za svaku vrstu informacija. Pokazaće se koliko tačno kompjuterska reprezentacija odražava originalnu informaciju, a reč „tačno“ ovde se ne odnosi samo na brojeve (preciznost reprezentacije), već i na druge vrste informacija. Naime, razmatra se stepen realizma u prenošenju nijansi boja na monitoru, stepen blizine reprodukovane muzike prirodnom zvuku muzičkih instrumenata ili ljudskom glasu, itd kompjuterske informacije se nazivaju zadatkom uzorkovanje ili kvantizacija. Ovaj problem se mora riješiti za sve vrste informacija. Metode uzorkovanja za različite vrste informacija su različite, ali se pristupi rješavanju ovog problema zasnivaju na istim principima.



Reprezentacija cijelih brojeva.

Bilo koji cijeli broj može se smatrati realnim brojem, ali sa nultim razlomkom, odnosno moglo bi se ograničiti na reprezentaciju realnih brojeva u kompjuteru i implementaciju aritmetičkih operacija nad njima. Međutim, da bi se efikasno koristila memorija, povećala brzina izračunavanja i uvela operacija dijeljenja cijelim brojem s ostatkom, cijeli brojevi su predstavljeni na posebno dizajnirane načine.

Uvođenje posebnih metoda za predstavljanje cijelih brojeva opravdano je činjenicom da se dosta često u problemima koji se rješavaju pomoću računara mnoge operacije svode na operacije nad cijelim brojevima. Na primjer, u problemima ekonomske prirode, podatak je broj dionica, zaposlenih, dijelova, vozila itd., koji su po svom značenju cijeli brojevi. Cijeli brojevi se koriste kako za označavanje datuma i vremena, tako i za numerisanje različitih objekata: elemenata nizova, zapisa u bazama podataka, adresa mašina itd.

Za kompjutersko predstavljanje celih brojeva obično se koristi nekoliko različitih metoda predstavljanja, koje se međusobno razlikuju po broju cifara i prisustvu ili odsustvu znaka. Reprezentacija bez predznaka može se koristiti samo za nenegativne cijele brojeve;

Kod neoznačenog predstavljanja, svi bitovi ćelije se dodjeljuju samom broju. Kada se predstavlja znakom, najznačajnija (lijeva) cifra se dodjeljuje predznaku broja, preostale cifre se dodjeljuju samom broju. Ako je broj pozitivan, onda se 0 stavlja u predznačeni bit, onda se 1. Očigledno, u ćelijama iste veličine možete predstavljati veći raspon nenegativnih cijelih brojeva u neoznačenom prikazu. potpisani brojevi. Na primjer, u jednom bajtu (8 bita) možete napisati pozitivne brojeve od 0 do 255, a sa predznakom - samo do 127. Stoga, ako unaprijed znate da je određena brojčana vrijednost uvijek nenegativna, onda je isplativije je smatrati ga nepotpisanim.

Kažu da se cijeli brojevi u kompjuteru pohranjuju u formatu c fiksna tačka(drugo tumačenje - fiksna tačka).

Reprezentacija pozitivnih cijelih brojeva.

Da bi se dobila kompjuterska reprezentacija nepredznačenog celog broja u k-bitnoj memorijskoj ćeliji, dovoljno je da se konvertuje u binarni sistem brojeva i dobijeni rezultat na levoj strani doda nulama do k cifara. Jasno je da postoji ograničenje za brojeve koje možemo upisati u k-bitnu ćeliju.

Maksimalni broj koji se može predstaviti odgovara jedinicama u svim ciframa ćelije (binarni broj koji se sastoji od k jedinica). Za k-bitnu reprezentaciju, to će biti jednako 2 k - 1. Minimalni broj je predstavljen nulama u svim ciframa ćelije i uvijek je jednak nuli. Ispod su maksimalni brojevi za neoznačeni prikaz za različite vrijednosti k:

Sa predznakom cijelih brojeva, koncepti kao što su naprijed, nazad i dodatni kodovi .

Definicija 1. Predstavljanje broja u obliku poznatom ljudima “ znak-veličina ", u kojem je najznačajnija cifra ćelije dodijeljena znaku, a ostatak k - 1 cifre - ispod cifara broja, pozvao direktni kod.

Na primjer, direktni kodovi binarnih brojeva 11001 2 I -11001 2 za osmobitnu ćeliju su jednake 00011001 I 10011001 respektivno. Pozitivni cijeli brojevi su predstavljeni u računaru pomoću direktnog koda. Direktni kod negativnog cijelog broja razlikuje se od direktnog koda odgovarajućeg pozitivnog broja po sadržaju predznačkog bita. Ali umjesto direktnog koda, računari koriste komplementarni kod za predstavljanje negativnih cijelih brojeva.

Imajte na umu da je maksimalni pozitivan broj koji se može zapisati u k znamenama 2 k-1 - 1 , što je skoro dva puta manje od maksimalnog broja u neoznačenom prikazu u istih k bitova.

Pitanje 1. Da li je moguće predstaviti broj 200 znakom u 8-bitnoj ćeliji?

Pitanja.

  1. Obrazložiti izvodljivost predstavljanja cijelih brojeva na poseban način na računaru.
  2. Navedite primjer množenja dva pozitivna broja sa ograničenim brojem znamenki, što rezultira negativnim brojem.
  3. Navedite i objasnite sve greške koje se mogu pojaviti pri izvođenju aritmetičkih operacija nad cijelim brojevima u računskoj aritmetici u ograničenom broju cifara.
  4. Pokažite kako korištenje koda komplementa dva omogućava zamjenu operacije oduzimanja operacijom sabiranja.
  5. U osmobitnu ćeliju zapišite dodatne kodove sljedećih binarnih brojeva: a) -1010; b) -1001; c) -11; d) -11011.
  6. Da li se po obliku komplementa broja može reći da li je paran ili neparan?
  7. Nađite decimalne ekvivalente negativnih brojeva zapisanih u komplementu dvojke: a) 11000100; b) 11111001.
  8. Koji od brojeva 43 16, 101010 2, 129 10 i -135 10 može biti pohranjen u jednom bajtu (8 bita)?
  9. Dobijte 16-bitni prikaz sljedećih brojeva: a) 25; b) -610.
  10. Za brojeve A = 1110 2, B = 1101 2, izvršite sljedeće operacije: A + B; A - B; B - A; -A - A; -B - B; -A - B (u osmobitnom predznakom).

Pitanja.

1. Napišite sljedeće decimalne brojeve u normaliziranom obliku:

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

2. Smanjite sljedeće brojeve u normalizirani oblik, koristeći baze njihovih brojevnih sistema kao P:

a) -0,000001011101 2 ;

b) 98765432U 10;

c) 123456789,ABCD 16.

3. Uporedite sljedeće brojeve:

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

b) 218,4785 × 10 -3 i 21847,85 × 10 -4 ;

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

4. Uporedite opseg predstavljanja brojeva s pomičnim zarezom u 32-bitnom formatu (24 bita za mantisu i 6 bita za modul) sa opsegom reprezentacije brojeva sa fiksnim zarezom u istom formatu.

5. Koje su prednosti kompjuterske reprezentacije brojeva s pomičnim zarezom u odnosu na reprezentaciju fiksne tačke koju najčešće koristimo u svakodnevni život?

6. Izvršite sljedeće aritmetičke operacije nad decimalnim normaliziranim brojevima prema pravilima realne kompjuterske aritmetike (6 značajnih cifara mora biti pohranjeno u mantisi):

a) 0,397621 x 10 3 + 0,237900 x 10 1;

b) 0,982563 x 10 2 - 0,745623 x 10 2;

c) 0,235001 x 10 2 0,850000 x 10 3;

d) 0,117800 x 10 2: 0,235600 x 10 3.

Prilikom obavljanja ovog zadatka, trebali biste normalizirati mantisu rezultata odgovarajuće aritmetičke operacije, a zatim je zaokružiti

7. Izvršite operaciju na mašinskim kodovima brojeva s pomičnim zarezom u 32-bitnom formatu: X = A + B, gdje je A = 125,75 i B = -50.

8. Navedite i objasnite sve greške koje se mogu pojaviti tokom aritmetičkih operacija sa normalizovanim brojevima u ograničenom broju cifara.

Kvantizacija boje.

Kao što je već spomenuto, grafičke informacije prirodnog porijekla, kada se unose u računar, moraju biti podvrgnute prostornom uzorkovanju i operacijama kvantizacije boja

Kvantizacija (kodiranje) boje zasniva se na matematičkom opisu boje, koji se, pak, oslanja na činjenicu da se boje mogu mjeriti i upoređivati. Naziva se naučna disciplina koja proučava mjerenje karakteristika boja metrologija boja, ili kolorimetrija. Osoba ima vrlo složenu percepciju boja, dovoljno je primijetiti da vizualni centri mozga novorođene djece provode nekoliko mjeseci (!) samo trenirajući da vide. Stoga je i matematički opis boje vrlo netrivijalan.

Naučnici dugo vremena nije bilo moguće objasniti proces percepcije boja. Sve do sredine 17. veka preovladavala je Aristotelova spekulativna teorija prema kojoj sve boje nastaju mešanjem crne sa belom. Prve ozbiljne rezultate u ovoj oblasti postigao je Isak Njutn, koji je opisao kompozitnu prirodu bele svetlosti i ustanovio da su spektralne boje neraskidive i da je mešanjem spektralnih boja moguće sintetisati belu boju i sve vrste nijansi drugih boja. Newton je identificirao sedam najuočljivijih spektralnih boja u spektru bijele svjetlosti i nazvao ih glavnim - crvena, narandžasta, žuta, zelena, plava, indigo i ljubičasta. Otprilike pola veka kasnije, 1756. godine, istaknuti ruski naučnik M.V. Lomonosov formulisao je takozvanu trokomponentnu teoriju boja, sumirajući ogroman empirijski materijal koji je sakupio razvijajući tehnologiju za proizvodnju obojenog stakla i mozaika. Istražujući pitanja bojanja stakla, Lomonosov je otkrio da je za davanje boje bilo kojeg M.V. Lomonosova (1711-1765) dovoljno koristiti samo tri osnovne boje, miješajući ih u određenim omjerima. Otprilike vek kasnije, izuzetni nemački naučnik Herman Grasman (1809-1877) uveo je matematički aparat u obliku Grasmanovih zakona za aditivnu sintezu boja u trokomponentnu teoriju boja. Najvažnija od njih su sljedeća dva zakona.

Zakon trodimenzionalnosti: koristeći tri linearno nezavisne boje, svaka boja se može jedinstveno izraziti. Boje se smatraju linearno neovisnim ako se nijedna od njih ne može dobiti miješanjem drugih.

Zakon kontinuiteta: kada se sastav mješavine boja kontinuirano mijenja, rezultirajuća boja se također kontinuirano mijenja. Možete odabrati beskonačno blisku boju bilo kojoj boji.

Teorija trokomponentne boje postala je osnova kolorimetrije, ali potkrepljenje ove teorije pojavilo se tek na prijelazu iz 19. u 20. stoljeće, nakon proučavanja fiziologije vidnih organa.

Grassmannovi kolorimetrijski zakoni uspostavljaju opšta svojstva matematički modeli boje. U stvari, Grassmannovi zakoni postuliraju da se bilo koja boja može nedvosmisleno povezati sa određenom tačkom u trodimenzionalnom prostoru. Tačke u prostoru koje odgovaraju bojama koje percipira ljudsko oko formiraju određeno konveksno tijelo u prostoru. Apsolutna crna uvijek odgovara tački (0, 0, 0). Dakle, boje se mogu smatrati tačkama ili vektorima u trodimenzionalnom prostoru boja. Svaki model boja u sebi definira određeni koordinatni sistem u kojem primarne boje modela igraju ulogu baznih vektora. A kvantizacija boja je u suštini diskretizacija prostora boja.

IN kompjuterska tehnologija Najčešće korišteni modeli boja su:

  • RGB (crveno-zeleno-plavo, crveno-zeleno-plavo).
  • CMYK (cijan-magenta-žuta-crna, cijan-magenta-žuta-crna).
  • HSB (Hue-Saturation-Brightness, Hue-Saturation-Brightness).

Kako bismo eliminirali dvosmislenost u tumačenju pojmova „svjetlina“, „zasićenost“, „nijansa boje“, objasnimo ih.

Osvetljenost je karakteristika boje, čija se definicija u osnovi poklapa sa svakodnevnim konceptom svjetline i fizičkim konceptom osvjetljenja ili luminoznosti. Jarko crvena, crvena i tamnocrvena boja razlikuju se upravo po svjetlini. Sa fizičke tačke gledišta, sjaj je kvantitativna mera protoka svetlosne energije koju emituje ili odbija objekat prema posmatraču. Dakle, na jakom suncu i u sumrak, isti uzorak boja izgleda drugačije. U ovom slučaju, nijanse boja se ne mijenjaju, samo je svjetlina boja drugačija.

Nijansa boje i zasićenost su dvije druge nezavisne karakteristike boje. Dajte nam set boja različitih boja. Miješanjem različitih boja među sobom dobijamo nove boje. Na primjer, mješavina jednakih količina žute i plave boje će proizvesti zelenu boju. Nijansa, ili nijansa, predmetnog objekta povezana je sa spektralnim sastavom zračenja. Po tonu boje predmeta možemo suditi o boji predmeta - plavoj, zelenoj, crvenoj itd. Pojedini dijelovi vidljivog spektra uzrokuju osjećaj različitih boja.

Saturation karakterizira stupanj "razrijeđenosti" tona boje bijelom. Na primjer, ako se svijetlo crvena (zasićena) boja razrijedi bijelom, tada će njena nijansa boje ostati ista, samo će se zasićenost promijeniti. Na potpuno isti način, smeđa, žuta i limun imaju istu nijansu boje - žutu, njihova razlika leži u zasićenosti nijanse boje. Svetlost iz monohromatskog izvora ima najveću zasićenost.

Imajte na umu da je za bijele i crne boje zasićenost 0%, tj. ove boje nemaju zasićenost. Zato, miješajući ih s obojenom bojom, mijenjamo njenu zasićenost, a ne nijansu.

RGB model boja.

U RGB modelu, primarne boje su crvena, zelena I plava. Ovaj model uglavnom se koristi prilikom prikazivanja grafičke slike na ekranu monitora, TV-a, mobilni telefon itd. Miješanjem tri primarne boje sintetiziraju se sve ostale boje, njihova uvjetna svjetlina (intenzitet) je određena realnim brojevima od 0 do 1 (vrijednost 1 odgovara maksimalnoj svjetlini odgovarajuće boje koju grafički uređaj može prikazati) . RGB model definira prostor boja u obliku jedinične kocke sa osama “svjetlina crvene komponente”, “svjetlina zelene komponente” i “svjetlina plave komponente”.


Karakteristične karakteristike RGB modela

Bilo koja tačka kocke ( r, g, b ) definira određenu boju.

Tačka (0, 0, 0) odgovara crnoj, tačka (1, 1, 1) bijeloj, a linija (0, 0, 0) - (1, 1, 1) opisuje sve nijanse sive: od crno na belo.

Kada se krećete pravolinijski od (0, 0, 0) kroz tačku ( r, g, b) dobijamo sve gradacije svjetline boje ( r, g, b), od najtamnijeg do najsvjetlijeg. Na primjer, (1/4, 1/4, 0) - tamno smeđa, (1/2, 1/2, 0) - smeđa, (3/4, 3/4, 0) - žuto-smeđa, ( 1 , 1, 0) - žuti.

Na stranama kocke ( r = 0}, {g = 0) i ( b = 0) nalaze se najzasićenije boje.

Što je tačka bliža glavnoj dijagonali (0, 0, 0)-(1, 1, 1), odgovarajuća boja je manje zasićena.

RGB model boja ima fiziološku osnovu. Ljudsko oko sadrži četiri tipa vidnih receptora: štapiće (receptore intenziteta) i

tri vrste "čušnica" (receptora za boju). Svaki tip konusa je osjetljiv na svjetlost u svom uskom rasponu valnih dužina, za čunjeve različite vrste Maksimumi osjetljivosti se javljaju na različitim talasnim dužinama, rasponi osjetljivosti se djelomično preklapaju:

Zahvaljujući neujednačenoj spektralnoj osjetljivosti i preklapanju raspona osjetljivosti, ljudsko oko može razlikovati ogroman broj boja (oko 10 miliona).

Ako u oko pošaljete kompozitni svjetlosni signal s pravilno odabranim omjerom svjetline crvene, zelene i plave boje, tada vizualni centri mozga neće moći razlikovati zamjenu i zaključit će da se opaža željena boja. ! Ovaj mehanizam za sintetizaciju nijansi boja koristi se u svim modernim tipovima monitora u boji, televizora i displeja mobilnih telefona.

Da bi se matematički RGB model koristio za realnu kompjutersku reprezentaciju grafičkih informacija, potrebno je kvantizirati prostor boja, odnosno pronaći način da se realne vrijednosti svjetline komponenti boje predstave u diskretnom obliku.

Najlakši način da to postignete je da pretvorite realne brojeve iz intervala = 100 – 43 = 57 C = 95 + [-B dk ] – 100 = – 100 = 152 – 100 = 52 Jedinica u najznačajnijoj cifri zbira može se jednostavno precrtati. Potrebno je pronaći način da se dobije sabiranje proizvoljnog broja X na q n bez upotrebe oduzimanja: C = A – B = A + (-B) = A + (-B) + q n – q n = A +(q n -1- B)- q n + 1 Izraz q n – 1 – B određuje broj B koji se dobija zamjenom svake cifre broja B njenim dodatkom broju q –1. Dakle, = = 999. Reverzni kod B naziva se reverzni kod broja B; q n -1 - konstanta formiranja obrnutog koda


Iz reverznog koda lako je dobiti dodatni kod: B + B = q n -1 q n - B = B + 1 Dodatni kod obrnutog koda Dodatni kod se dobija dodavanjem jedne najmanje značajnoj znamenki obrnutog koda . Stoga se komplementi binarnih brojeva mogu naći bez operacije oduzimanja. U obrnutom kodu, kao iu naprijed kodu, postoji negativna i pozitivna nula. Samo u kodu komplementa dva nula ima jednu reprezentaciju. Za datu dužinu bitne mreže, kod komplementa predstavlja jedan negativni broj više od pozitivnih. Dogovorimo se da direktne, reverzne i dodatne kodove broja A označimo sa [A pk], [A ok], [A dk].


Primjer. Pronađite direktne, reverzne i dodatne kodove brojeva A = 34 i B = [A pk ]= , [A ok ]= , [A dk ]= [V pk ]= , [V ok ]= , [V dk ] = Algoritam za dobijanje dodatnog koda negativnog broja. 1. Predstavite modul broja u direktnom kodu u k binarnih cifara. 2. Invertirajte vrijednosti svih bitova: zamijenite sve nule jedinicama, a jedinice nulama (tako se dobije k-bitni reverzni kod originalnog broja); 3. Dodajte jedan rezultujućem obrnutom kodu, koji se tumači kao k-bitni nenegativan binarni broj.


Primjeri. 1. Dat je negativan cijeli broj decimalni broj M=-20. Predstavite broj u mašinskom kodu u 16-bitnoj mreži u binarnom i heksadecimalnom brojevnom sistemu. M=-20= 2 = 2 = 2 = 16 =FFEC


2. Cijeli broj je dat u obliku heksadecimalnog binarnog mašinskog koda. Odredite decimalnu vrijednost ovog broja: K a =FFD4 Prva cifra je F, stoga je broj negativan i pohranjen je u kompjuteru u obliku dodatnog mašinskog koda. FFD4 16 = [ dk ] [ ok ] – reverzni kod broja PC = [ pk ] – direktni binarni kod broja Zatim decimalni broj a = = - (32+8+4) = -44 – decimalni broj


Metoda 2: kroz heksadecimalni brojevni sistem K a =FFD4


Akcije na mašinske kodove cijelih brojeva Zadane su: decimalni brojevi A = 34 i B = 30 Pronađite: A+B, A – B, B – A u binarnim mašinskim kodovima u 8-bitnoj mreži.


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


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




Radnje na mašinskim kodovima brojeva sa fiksnom tačkom (u heksadecimalnom brojevnom sistemu) Zadato: decimalni brojevi A = 34 i B = 30 Naći: A+B, A – B, B – A u heksadecimalnom mašinskom kodu u 16-bitnoj mreži. 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


Primjeri Realni brojevi se mogu predstaviti kao mašinski kodovi brojeva s pomičnim zarezom u 32-bitnoj mreži u 16s/s: a) A=32008.5b) B= .5 c) C= ​​15d) D= Nađimo normalizirane mantise i karakteristike ovih brojeva: a ) A=32008.5=7D08.8 16 =0.7D m A =0.7D088p xA =4+40=44 16 = Znak- 0 Karakteristika Razlomak mantise Normalizovana mantisa Karakteristika K A = = = 43FA > 0 0">


B) B= .5= -7D08.8 16 = - 0.7D m B = -0.7D088p xB =4+40=44 16 = Znak- 1 Karakteristika Frakcijski dio mantise Normalizirana mantisa Karakteristika 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 Znak - 0 Karakteristika - 1000001 Frakcijski dio - 1111 1110 0000 0000 0000 0000 mantisa K C = 0,1000001,1111 1111 1110 00 00 00 00 000 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 Znak - 0 Karakteristika Razlomak mantise K C = = =41FE > c) D= - = - 0,9 16 m B =0,9 16 p xB =40+0=40 16 Znak- 1 Karakteristika Razlomak mantise 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 Znak - 1 Karakteristika - 1000000 Frakcijski dio - 1001 0000 0000 0000 00 00 00 00 00 0 .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=" (!SLANG1:v) F,E 16 m c =0,FE 16 p xA =40+1=41 16 Znak - 0 Karakteristika - 1000001 Frakcijski dio - 1111 1110 0000 0000 0000 0000 mantisa K C = 0.1001000 0.1010000 0000 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 Znak - 0 Karakteristika - 1000001 Frakcijski dio - 1111 1110 0000 0000 0000 0000 mantisa 0101010101010 0000 0000 0000 2 = =41FE0000 16 > 0 14 16 c) D= - = - 0,9 16 m B =0,9 16 p xB =40+0=40">!}


Radnje na brojeve predstavljene u eksponencijalnom obliku 1. Brojevi u eksponencijalnom obliku se pohranjuju u memoriju u direktnom kodu sa normaliziranim mantisama. 2. Dodavanje kodova se vrši dodavanjem mantisa samo sa istim redosledom (karakteristikama) pojmova. Najviši red se bira kao ukupni redosled. 3. Algebarski algoritmi operacije sabiranja nakon izjednačavanja karakteristika zavise od predznaka članova. 4. Rezultati u direktnom kodu su normalizirani.


Primjeri Izvršite dodavanje mašinskog koda brojeva A i B s pomičnim zarezom na 32-bitnoj mreži. Kao odgovor, zapišite šifru rezultata (u 2. i 16. s/s) i decimalni broj koji odgovara ovom kodu 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" >


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

Ključne riječi:

  • pražnjenje
  • neoznačena celobrojna reprezentacija
  • predznak cijelih brojeva
  • predstavljanje realnih brojeva
  • format s pomičnim zarezom

1.2.1. Cjelobrojna reprezentacija

Računarska memorija se sastoji od ćelija, od kojih je svaka fizički sistem koji se sastoji od određenog broja homogenih elemenata. Ovi elementi imaju dva stabilna stanja, od kojih jedno odgovara nuli, a drugo jednom. Svaki takav element služi za pohranjivanje jednog od bitova - cifara binarnog broja. Zato se svaki element ćelije naziva bit ili cifra (slika 1.2).

Rice. 1.2. Memorijska ćelija

Za kompjutersko predstavljanje celih brojeva koristi se nekoliko različitih metoda predstavljanja, koje se međusobno razlikuju po broju cifara (celi brojevi se obično dodeljuju 8, 16, 32 ili 64 cifre) i prisutnosti ili odsustvu znaka. Reprezentacija bez predznaka može se koristiti samo za nenegativne cijele brojeve;

Rasprostranjena u kompjuterska tehnologija primili nepotpisane podatke. Tu spadaju objekti kao što su adrese ćelija, različiti brojači (na primjer, broj znakova u tekstu), kao i brojevi koji označavaju datum i vrijeme, veličinu grafičkih slika u pikselima itd.

Maksimalna vrijednost nenegativnog cijelog broja postiže se kada svi bitovi ćelije sadrže jedinice. Za n-bitnu reprezentaciju to će biti jednako 2 n -1. Minimalni broj odgovara n nula pohranjenih u n bitova memorije i jednak je nuli.

Sljedeće su maksimalne vrijednosti za neoznačene n-bitne cijele brojeve:

Da biste dobili kompjutersku reprezentaciju neoznačenog celog broja, dovoljno je konvertovati broj u binarni brojevni sistem i dodati rezultat sa leve strane nulama na standardni broj cifara.

Primjer 1. Broj 53 10 = 110101 2 u osmocifrenim prikazima ima oblik:

Isti broj 53 sa šesnaest cifara biće napisan na sledeći način:

Kada se predstavlja znakom, najznačajnija (lijeva) cifra se dodjeljuje predznaku broja, preostale cifre se dodjeljuju samom broju. Ako je broj pozitivan, onda se O stavlja u bit predznaka, ako je broj negativan - 1. Ovaj prikaz brojeva naziva se direktni kod. U računarima se direktni kodovi koriste za pohranjivanje pozitivnih brojeva u uređaje za pohranu kako bi se izvršile operacije nad pozitivnim brojevima.

Web stranica Federalnog centra za informacije i obrazovne resurse (http://fcior.edu.ru/) sadrži informativni modul „Broj i njegov kompjuterski kod" Sa ovim resursom možete dobiti dodatne informacije na temu koja se proučava.

Za izvođenje operacija nad negativnim brojevima, dodatni kod se koristi za zamjenu operacije oduzimanja sa sabiranjem. Možete saznati algoritam za generiranje dodatnog koda koristeći informacioni modul„Dodatni kod“, objavljen na web stranici Federalnog centra za informacije i obrazovne resurse (http://fcior.edu.ru/).

1.2.2. Predstavljanje realnih brojeva

Bilo koji realan broj A može se napisati u normalnom (naučnom, eksponencijalnom) obliku:

A = ±m q p ,

    m - mantisa broja;

    p - redosled brojeva.

Na primjer, broj 472.000.000 može se predstaviti na sljedeći način: 47,2 10 7, 472 10 6, 4720 10 7, itd.

Možda ste naišli na normalan oblik pisanja brojeva kada ste računali pomoću kalkulatora, kada ste kao odgovor dobili unose sljedećeg oblika: 4,72E+8.

Ovdje znak "E" označava osnovu decimalnog brojevnog sistema i čita se kao "pomnoži sa deset na stepen".

Iz gornjeg primjera možete vidjeti da se pozicija decimalne točke u broju može promijeniti. Stoga se reprezentacija realnih brojeva u normalnom obliku u kompjuteru naziva reprezentacija s pomičnim zarezom.

Zbog konzistentnosti, mantisa se obično piše kao pravi razlomak sa znamenkom različitom od nule nakon decimalnog zareza. U ovom slučaju, broj 472,000,000 bi bio predstavljen kao 0,472 10 9

Broj s pomičnim zarezom može zauzeti 32 ili 64 bita računarske memorije. U ovom slučaju, bitovi se dodjeljuju za pohranjivanje znaka mantise, znaka reda, reda i mantise.

Opseg reprezentacije realnih brojeva određen je brojem bitova koji su dodijeljeni za pohranjivanje redoslijeda broja, a preciznost je određena brojem bitova koji su dodijeljeni za pohranjivanje mantise.

Maksimalna vrijednost reda broja, kao što se vidi iz gornjeg primjera, je 1111111 2 = 127 10, pa je stoga maksimalna vrijednost broja:

0,11111111111111111111111 10 1111111

Pokušajte sami otkriti koliki je decimalni ekvivalent ove vrijednosti.

Širok raspon reprezentacija s pomičnim zarezom važan je za naučne i inženjerski problemi. Istovremeno, treba shvatiti da su algoritmi za obradu brojeva u formatu s pomičnim zarezom intenzivniji u odnosu na algoritme za obradu cijelih brojeva.

Najvažnije

Za predstavljanje cijelih brojeva na računaru koristi se nekoliko različitih metoda, koje se međusobno razlikuju po broju cifara (8, 16, 32 ili 64) i prisutnosti ili odsustvu znaka.

Da bi se predstavio cijeli broj bez predznaka, treba ga konvertirati u binarni brojevni sistem i rezultirajući rezultat treba dopuniti s lijeve strane nulama do standardnog kapaciteta.

Kada je predstavljen znakom, najznačajnija cifra se dodeljuje znaku broja, preostale cifre se dodeljuju samom broju. Ako je broj pozitivan, onda se 0 stavlja u predznak, ako je broj negativan, onda 1. Pozitivni brojevi se pohranjuju u kompjuteru u direktnom kodu, negativni brojevi u komplementarnom kodu.

Realni brojevi se pohranjuju u kompjuter u formatu s pomičnim zarezom. U ovom slučaju, bilo koji broj se piše ovako:

A = ±m q p ,

    m - mantisa broja;

    q - osnova brojevnog sistema;

    p - redosled brojeva.

Pitanja i zadaci

  1. Kako su pozitivni i negativni cijeli brojevi predstavljeni u memoriji računala?
  2. Bilo koji cijeli broj se može tretirati kao realan broj, ali sa nultim razlomkom. Obrazložiti izvodljivost posebnih načina kompjuterske reprezentacije cijelih brojeva.
  3. Predstavite broj 63 10 u nepotpisanom 8-bitnom formatu.
  4. Pronađite decimalne ekvivalente brojeva koristeći njihove direktne kodove, napisane u potpisanom 8-bitnom formatu:
  5. Koji od brojeva 443 8, 101010 2, 256 10 može biti pohranjen u 8-bitnom formatu?
  6. Napišite sljedeće brojeve u prirodnom obliku:

      a) 0,3800456 10 2;

      b) 0,245 10 -3;

      c) 1,256900E+5;

      d) 9.569120E-3.

  7. Zapiši broj 2010.0102 10 kao pet na razne načine u normalnom stanju.
  8. Napišite sljedeće brojeve u normalnom obliku s normaliziranom mantisom - pravim razlomkom koji ima cifru različitu od nule nakon decimalnog zareza:

    a) 217.934 10;

    c) 0,00101 10.

  9. Nacrtajte dijagram koji povezuje osnovne koncepte o kojima se govori u ovom paragrafu.

Postoje dva glavna formata za predstavljanje brojeva u memoriji računara, jedan od njih se koristi za kodiranje cijelih brojeva (reprezentacija broja s fiksnom zarezom), drugi se koristi za specificiranje određenog podskupa realnih brojeva (reprezentacija broja s pomičnim zarezom ). Pogledajmo svaki od formata detaljnije.

1.1. Cjelobrojna reprezentacija

Bilo koji cijeli broj može se smatrati realnim brojem, ali sa nultim razlomkom, tj. moglo bi se ograničiti na predstavljanje realnih brojeva u računaru i implementaciju aritmetičkih operacija na njima, ali za efikasno korištenje memorije računara, povećanje brzine proračuna i uvođenje operacije cjelobrojnog dijeljenja Cijeli brojevi su predstavljeni na posebno dizajnirane načine.

Za kompjutersko predstavljanje cijelih brojeva obično se koristi nekoliko različitih metoda, koje se međusobno razlikuju po broju binarnih znamenki i prisutnosti ili odsustvu znaka.

Cijeli brojevi u računaru se pohranjuju u memoriju u formatu c. fiksna tačka. U ovom slučaju, svaka cifra memorijske ćelije uvijek odgovara istoj cifri, a “zarez” se “locira” desno iza najmanje značajne cifre, odnosno izvan mreže bitova.

1.1.1. Neoznačeni cijeli brojevi

Pogledajmo kodiranje neoznačenih cijelih brojeva koristeći primjer tipa podataka bajt u jeziku Basic I nepotpisan char u jeziku WITH++, zauzima jedan bajt u memoriji.

Da bi se dobio kompjuterski (interni) prikaz jednobajtnog celobrojnog nenegativnog broja, dovoljno je da se konvertuje u binarni brojevni sistem i dobijeni rezultat, nazvan direktni kod broja, da se doda sa leve strane sa nule do osam bita.

Minimalni broj je predstavljen nulama u svim znamenkama i jednak je nuli. Maksimalni broj koji se može predstaviti odgovara jedinicama u svim znamenkama ćelije (binarni broj koji se sastoji od osam jedinica jednak je 255). Primjeri kodiranja jednobajtnih neoznačenih cijelih brojeva dati su u tabeli. 1.

Jednobajtni nenegativni cijeli brojevi mogu se koristiti, na primjer, za organiziranje različitih brojača, snimanje adresa ćelija, datuma i vremena i veličine grafičkih slika u pikselima.

Da bi se poboljšala čitljivost internog prikaza broja, on je zapisan u heksadecimalnom brojevnom sistemu.

Tabela 1

Primjeri kodiranja neoznačenih cijelih brojeva

1.1.2. Predpisani cijeli brojevi

Razmotrimo kodiranje potpisanih cijelih brojeva koristeći primjer tipa podataka cijeli broj u jeziku Basic I int u jeziku WITH++, koji zauzima dva bajta (16 bita) u memoriji.

Svaki od 16 bitova ima specifičnu svrhu. 1. Znak se dodeljuje najznačajnijoj cifri ćelije: 0 – za pozitivne brojeve, 1 – za negativne.

Za predstavljanje celih brojeva sa znakom u računaru koristi se dodatni kod koji vam omogućava da aritmetičku operaciju oduzimanja zamenite operacijom sabiranja, što značajno povećava brzinu izračunavanja.

Da bismo razumjeli šta je dodatni kod, pogledajmo naprijed i nazad kodove.

Napomena 1. Za pozitivne brojeve, sva tri koda se poklapaju sa binarnim prikazom broja koristeći šesnaest binarnih cifara, sa nulama ispisanim u praznim ciframa.

Rice. 1. Potpisani cijeli broj

Hajde da zamislimo algoritam dobijanje dodatnog šesnaestobitnog binarnog koda negativnog broja.

1) Zapišite direktni kod negativnog broja u 16 binarnih cifara. Da biste to učinili, modul negativnog cijelog broja mora se pretvoriti u binarni brojevni sistem, a rezultirajući rezultat se mora dopuniti s lijeve strane nulama do 16 bita.

2) Napišite reverzni kod negativnog broja u 16 binarnih cifara. Da biste to učinili, invertirajte vrijednosti svih bitova direktnog koda (zamijenite sve nule jedinicama, a sve jedinice nulama).

3) Zapišite dodatni kod negativnog broja u 16 binarnih cifara. Da biste to učinili, dodajte jedan reverznom kodu, koji se smatra šesnaestobitnim nenegativnim binarnim brojem.

Napomena 2. Recipročni kod negativnog broja je modul komplementa tog broja broju
, a dodatni kod je do broja
.

Primeri predstavljanja dvobajtnih celih brojeva sa predznakom dati su u tabeli. 2.

Najmanji negativni broj koji se može predstaviti pomoću dva bajta je –32768.

Maksimalni pozitivni broj koji se može predstaviti odgovara jedinicama u svim bitovima ćelije (binarni broj koji se sastoji od nule (u predznačnom bitu) i petnaest jedinica), jednak je 32767 (
).

Tabela 2

Primjeri predstavljanja dvobajtnih potpisanih cijelih brojeva

§ 1.2. Predstavljanje brojeva u kompjuteru

Predstavljanje brojeva na računaru. Pitanja i zadaci

1. Pročitajte materijale za prezentaciju za paragraf koji se nalazi u elektronskom dodatku udžbenika. Koristite ove materijale kada pripremate odgovore na pitanja i ispunjavate zadatke.

2. Kako su pozitivni i negativni cijeli brojevi predstavljeni u memoriji računala?

3. Bilo koji cijeli broj se može smatrati realnim brojem, ali sa nultim razlomkom. Obrazložiti izvodljivost posebnih načina kompjuterske reprezentacije cijelih brojeva.

4. Predstavite broj 63 10 u nepotpisanom 8-bitnom formatu.

5. Pronađite decimalne ekvivalente brojeva koristeći njihove direktne kodove, napisane u potpisanom 8-bitnom formatu:

    a) 01001100;
    b) 00010101.

6. Koji od brojeva 443 8, 101010 2, 256 10 može biti pohranjen u 8-bitnom formatu?

7. Napiši sljedeće brojeve u prirodnom obliku:

    a) 0,3800456 10 2;
    b) 0,245 10 -3;
    a) 1,256900E+5;
    a) 9.569120E-3.

8. Napišite broj 2010.0102 10 na pet različitih načina u eksponencijalnom obliku.

9. Napišite sljedeće brojeve u eksponencijalnom obliku s normaliziranom mantisom - pravim razlomkom koji ima cifru različitu od nule nakon decimalnog zareza:

    a) 217.934 10;
    b) 75321 10;
    c) 0,00101 10.

10. Nacrtajte dijagram koji povezuje osnovne koncepte o kojima se govori u ovom paragrafu.

Odgovori: Predstavljanje brojeva u računaru

    9. a) 0,217934 10 3 ; b) 0,75321 10 5; c) 0,101 10 -2.

© 2024 ermake.ru -- O popravci računara - Informativni portal