1 2 . čas pokretni zarez

30
12. čas Pokretni zarez IEEE754-2008 (dekadna osnova)

Upload: aiden

Post on 05-Jan-2016

109 views

Category:

Documents


0 download

DESCRIPTION

1 2 . čas Pokretni zarez. IEEE754-2008 ( dekadna osnova ). Standard IEEE 754-2008. Standard IEEE 754-2008 usvojen je avgusta 2008. godine. Zamenjuje prethodne verzije standarda IEEE 754 i IEEE 854 Standardnom se uvodi mogućnost zapisa brojeva pomoću dekadne osnove - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 1 2 .  čas   Pokretni zarez

12. čas Pokretni zarez

IEEE754-2008 (dekadna osnova)

Page 2: 1 2 .  čas   Pokretni zarez

Standard IEEE 754-2008

Standard IEEE 754-2008 usvojen je avgusta 2008. godine.

Zamenjuje prethodne verzije standarda IEEE 754 i IEEE 854

Standardnom se uvodi mogućnost zapisa brojeva pomoću dekadne osnove

Dopune prethodnog standarda vezano za binarnu osnovu

Page 3: 1 2 .  čas   Pokretni zarez

Predstavljanje brojeva u dekadnoj osnovi

Softverski – brzina rada nije zadovoljavajuća jer se softver stara o zapisu brojeva i operacijama nad njima.

Hardverski BCD zapis (fiksni zarez – nedostaci su relativno

složeno izvođenje operacija, znatno sporije od binarne osnove)

Pokretni zarez (IEEE 754-2008) – trenutno samo neki od procesora hardverski podržavaju ovakav zapis (npr IBM z serija)

Page 4: 1 2 .  čas   Pokretni zarez

Zapis u registrima računara

Realne brojeve u dekadnoj osnovi u računaru treba zapisati u registre iste dužine kao i pri zapisu realnih brojeva u pokretnom zarezu pomoću binarne osnove.

Zapis treba da bude u obliku znak, frakcija i eksponent.

Zapis treba da bude moguć u jednostrukoj, dvostrukoj i četvorostrukoj tačnosti.

Zapis treba da omogući precizno zapisivanje dekadnih cifara bez konverzije

Page 5: 1 2 .  čas   Pokretni zarez

Zapis u registrima računara

Preciznost zapisa treba da bude uporediva sa preciznošću zapisa dekadnih brojeva pomoću binarne osnove.

Potrebno je primeniti kodiranje koje omogućuje zapisivanje svih potrebnih podataka u dovoljnoj tačnosti (u slučaju BCD kodiranja javlja se problem)

Treba predvideti zapis specijalnih vrednosti Definisati pravila za izvođenje operacija

Page 6: 1 2 .  čas   Pokretni zarez

Packed Decimal Encoding (PDP)

Mehanizam predstavljanja 3 dekadne cifre pomoću 10 bitova.

Dekadno kodiranje, Densely Packed Decimal (DPD) – IBM

Binarno kodiranje, Binary Integer Decimal (BID) – INTEL

Page 7: 1 2 .  čas   Pokretni zarez

Densely Packed Decimal kodiranje

Kodira 3 dekadne cifre u 10 bita20% efikasnije kodiranje od BCD zapisaDeli cifre na male (0-7) i velike (8-9) na

osnovu vrednosti prvog bita u BCD koduMale cifre zahtevaju tri bita za

predstavljanje, a velike jedan bit kako bi se međusobno razlikovale

Page 8: 1 2 .  čas   Pokretni zarez

Densely Packed Decimal kodiranje

Kodiranje razmatra svaku od kombinacija tri cifre: Sve tri cifre su male: potrebno je 10 bitova (3+3+3 za

cifre, 1 bit da označi ovu kombinaciju) Dve cifre su male: potrebno je 7 bitova za cifre (3+3+1);

preostala 3 bita označavaju kombinaciju Jedna cifra je mala: potrebno je 5 bitova za cifre

(3+1+1); preostalih 5 bitova označavaju kombinaciju Sve cifre su velike: potrebna su 3 bita za cifre (1+1+1);

preostalih 7 (mada je potrebno samo 5) označavaju kombinaciju

Page 9: 1 2 .  čas   Pokretni zarez

Brojevi

Brojevi mogu biti: Konačni Specijalne vrednosti

Brojevi su zapisani pomoću: Znaka broja (0 za pozitivne, 1 za negativne) Frakcije (zapisuje se kao celobrojna vrednost veća ili jednaka

nuli) eksponenta

U zavisnosti od komponenti, jedna ista vrednost može biti zapisana na različite načine!

Iz tog razloga, njegova reprezentacija ne mora da bude normalizovana.

Page 10: 1 2 .  čas   Pokretni zarez

Klase brojeva

Postoje iste klase brojeva kao i kod binarne osnove: Označena nula Subnormalni brojevi (denormalizovani brojevi) Normalni (normalizovani brojevi) Beskonačno NaN (tihi i signalni)

Page 11: 1 2 .  čas   Pokretni zarez

Napomene (DPD)

Kodiranje jedne ili dve dekadne cifre je uvek desno poravnato u grupi od 10 bitova, dok su ostali bitovi 0. Kodirane dekadne cifre se zato mogu zapisati u polju veće dužine dopunjavanjem nula sa leve strane, bez potrebe za ponovnim kodiranjem.

Svi brojevi u intervalu [0,79] se kodiraju desno poravnato na isti način kao u BCD (8421) kodu.

Page 12: 1 2 .  čas   Pokretni zarez

Šematski prikaz kodiranja

Cifre C1C2C3 zapisane u BCD zapisu (abcd)(efgh)(ijkm) postaju (pqr)(stu)(v)(wxy) gde je:

Page 13: 1 2 .  čas   Pokretni zarez

Šematski prikaz dekodiranja

Cifre (pqr)(stu)(v)(wxy) postaju (abcd)(efgh)(ijkm) koje predstavljaju BCD zapis cifara C1C2C3

Page 14: 1 2 .  čas   Pokretni zarez

Formati zapisa

Page 15: 1 2 .  čas   Pokretni zarez

Vrednost broja

Vrednost broja predstavljenog u pokretnom zarezu pomoću dekadne osnove se određuje na sledeći način: Ako su 5 bitova kombinacije u intervalu 00000-11101, u

pitanju je konačan broj. Ako su 5 bitova kombinacije jednaki 11110, vrednost

broja je ±∞, u zavisnosti od znaka broja. Ako su 5 bitova kombinacije jednaki 11111, vrednost

broja je NaN (SNaN ako je bit najveće težine polja NE jednak 1, inače QNaN).

Page 16: 1 2 .  čas   Pokretni zarez

Dekadno kodiranje

Dekadne cifre u nastavku frakcije kodirane su DPD algoritmom.

Dve cifre najveće težine eksponenta i cifra najveće težine frakcije određuju se na osnovu 5 bitova kombinacije.

Page 17: 1 2 .  čas   Pokretni zarez

Intervali brojeva

Page 18: 1 2 .  čas   Pokretni zarez

Primeri zapisa brojeva pomoću dekadnog kodiranja

Page 19: 1 2 .  čas   Pokretni zarez

Uporedni prikaz zapisa nekih brojeva pomoću binarne, heksadekadne i dekadne osnove

Page 20: 1 2 .  čas   Pokretni zarez

Uporedni prikaz zapisa nekih brojeva pomoću binarne, heksadekadne i dekadne osnove

Page 21: 1 2 .  čas   Pokretni zarez

Primer 1

Zapisati broj +123.4 u pokretnom zarezu pomoćcu dekadne osnove u jednostrukoj tačnosti, koristeći dekadno (DPD) kodiranje.

Rešenje: Broj koga treba zapisati predstavimo u obliku +1234*10−1. Vrednosti cifara u zapisu broja su:

1. Broj koga treba zapisati je pozitivan - znak broja je 0. 2. Frakcija broja je 1234. Dopunimo frakciju do maksimalnog broja

cifara za jednostruku tačnost (7). Dobijeni broj koga treba da kodiramo je 0001234. Kodiraju se 6 cifara manje težine u dva dekleta, dok se cifra najveće težine kodira u polju za kombinaciju. Primenom DPD kodiranja dobija se (npr. na osnovu tabele shematskog prikaza kodiranja):

0 0 1 2 3 4 Dekadni zapis abcd efgh ijkm abcd efgh ijkm 0000 0000 0001 0010 0011 0100 BCD zapis 000 000 0 001 010 011 0 100 DPD dekleti pqr stu v wxy pqr stu v wxy

Page 22: 1 2 .  čas   Pokretni zarez

Primer 1

3. Eksponent je jednak -1 i uz uvećanje 101 dobija se 100. Prevod dobijene vrednosti u binarni brojni sistem je 01100100. Odavde je nastavak eksponenta 100100, dok se prva dva bita 01 kodiraju u kombinaciji.

4. Kombinacija treba da kodira cifru 0 (cifra frakcije) i dva bita najveće težine eksponenta (binarne cifre 01). Kako je 0 cifra frakcije, na osnovu pravila za predstavljanje sledi da je kombinacija = 01000.

Odavde, zapis broja +123.4 je 0 01000 100100 0000 0000 0101 0011 0100

Page 23: 1 2 .  čas   Pokretni zarez

Primer 2

Primer 2: Zapisati broj -243/13 u pokretnom zarezu pomoću dekadne osnove u jednostrukoj

tačnosti, koristeći dekadno (DPD) kodiranje. Rešenje: Dobijeni količnik zapišimo pomoću 7 dekadnih cifara u

obliku znak, farkcija i eksponent. Kako je 243/13=18.69230769... pretpostavimo da je odabrano takvo

pravilo zaokruživanja da je rezultat zaokružen na 7 cifara jednak 18,69230 (primedba: i za zapis pomoću dekadne osnove važe ista pravila zaokruživanja!).

Broj koga treba zapisati predstavimo u obliku -1869230*10−5. Vrednosti cifara u zapisu broja su:

1. Broj koga treba zapisati je negativan → znak broja je 1. 2. Frakcija broja je 1869230. Kodiraju se 6 cifara manje težine u dva

dekleta, dok se cifra najveće težine kodira u polju za kombinaciju. Primenom DPD kodiranja dobija se (npr. na osnovu tabele shematskog prikaza kodiranja):

Page 24: 1 2 .  čas   Pokretni zarez

Primer 2

8 6 9 2 3 0 Dekadni zapis abcd efgh ijkm abcd efgh ijkm 1000 0110 1001 0010 0011 0000 BCD zapis 110 010 1 111 010 011 0 000 DPD dekleti pqr stu v wxy pqr stu v wxy

3. Eksponent je jednak -5, i uz uvećanje 101 dobija se 96. Prevod dobijene vrednosti u binarni brojni sistem je 01100000. Odavde je nastavak eksponenta 100000, dok se prva dva bita 01 kodiraju u kombinaciji.

4. Kombinacija treba da kodira cifru 1 (cifra frakcije) i dva bita najveće težine eksponenta (binarne cifre 01). Kako je 1 cifra frakcije, na osnovu pravila za predstavljanje sledi da je kombinacija = 01001.

Odavde, zapis broja -243/13 je 1 01001 100000 1100 1011 1101 0011 0000

Page 25: 1 2 .  čas   Pokretni zarez

Primer 3

Page 26: 1 2 .  čas   Pokretni zarez

Primer 3

Page 27: 1 2 .  čas   Pokretni zarez

Primer 4

Page 28: 1 2 .  čas   Pokretni zarez

Primer 4

Page 29: 1 2 .  čas   Pokretni zarez

Zadaci za vežbu

Page 30: 1 2 .  čas   Pokretni zarez

Zadaci za vežbu