Realni brojevi u pokretnom zarezu

Σχετικά έγγραφα
Realni brojevi i aritmetika

Osnovni primer. (Z, +,,, 0, 1) je komutativan prsten sa jedinicom: množenje je distributivno prema sabiranju

3.1 Granična vrednost funkcije u tački

Teorijske osnove informatike 1

UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET SIGNALI I SISTEMI. Zbirka zadataka

Binarno kodirani dekadni brojevi

DISKRETNA MATEMATIKA - PREDAVANJE 7 - Jovanka Pantović

Elementi spektralne teorije matrica

Računarska grafika. Rasterizacija linije

numeričkih deskriptivnih mera.

Zadaci sa prethodnih prijemnih ispita iz matematike na Beogradskom univerzitetu

Celi brojevi su svi nerazlomljeni brojevi, pozitivni, negativni i nula. To su

41. Jednačine koje se svode na kvadratne

18. listopada listopada / 13

Računarska grafika. Rasterizacija linije

IZRAČUNAVANJE POKAZATELJA NAČINA RADA NAČINA RADA (ISKORIŠĆENOSTI KAPACITETA, STEPENA OTVORENOSTI RADNIH MESTA I NIVOA ORGANIZOVANOSTI)

radni nerecenzirani materijal za predavanja

Apsolutno neprekidne raspodele Raspodele apsolutno neprekidnih sluqajnih promenljivih nazivaju se apsolutno neprekidnim raspodelama.

Ispitivanje toka i skiciranje grafika funkcija

MATRICE I DETERMINANTE - formule i zadaci - (Matrice i determinante) 1 / 15

IspitivaƬe funkcija: 1. Oblast definisanosti funkcije (ili domen funkcije) D f

Operacije s matricama

ELEKTROTEHNIČKI ODJEL

5. Karakteristične funkcije

III VEŽBA: FURIJEOVI REDOVI

Obrada rezultata merenja

Osnovne teoreme diferencijalnog računa

(P.I.) PRETPOSTAVKA INDUKCIJE - pretpostavimo da tvrdnja vrijedi za n = k.

Obrada signala

SISTEMI NELINEARNIH JEDNAČINA

2 tg x ctg x 1 = =, cos 2x Zbog četvrtog kvadranta rješenje je: 2 ctg x

IZVODI ZADACI ( IV deo) Rešenje: Najpre ćemo logaritmovati ovu jednakost sa ln ( to beše prirodni logaritam za osnovu e) a zatim ćemo

M086 LA 1 M106 GRP. Tema: Baza vektorskog prostora. Koordinatni sustav. Norma. CSB nejednakost

2. POJAM KOMPLEMENTA, BINARNI BROJNI SISTEM I BINARNI BROJEVI SA ZNAKOM

PRAVA. Prava je u prostoru određena jednom svojom tačkom i vektorom paralelnim sa tom pravom ( vektor paralelnosti).

Prediktor-korektor metodi

4.7. Zadaci Formalizam diferenciranja (teorija na stranama ) 343. Znajući izvod funkcije x arctg x, odrediti izvod funkcije x arcctg x.

Pismeni ispit iz matematike Riješiti sistem jednačina i diskutovati rješenja sistema u zavisnosti od parametra: ( ) + 1.

Deljivost. 1. Ispitati kada izraz (n 2) 3 + n 3 + (n + 2) 3,n N nije deljiv sa 18.

Kaskadna kompenzacija SAU

a M a A. Može se pokazati da je supremum (ako postoji) jedinstven pa uvodimo oznaku sup A.

Algebarske strukture sa jednom operacijom (A, ): Ako operacija ima osobine: zatvorenost i asocijativnost, onda je (A, ) polugrupa

Jednodimenzionalne slučajne promenljive

Verovatnoća i Statistika I deo Teorija verovatnoće (zadaci) Beleške dr Bobana Marinkovića

7 Algebarske jednadžbe

TRIGONOMETRIJSKE FUNKCIJE I I.1.

Iskazna logika 3. Matematička logika u računarstvu. novembar 2012

radni nerecenzirani materijal za predavanja R(f) = {f(x) x D}

INTEGRALNI RAČUN. Teorije, metodike i povijest infinitezimalnih računa. Lucija Mijić 17. veljače 2011.

5 Ispitivanje funkcija

Kontrolni zadatak (Tačka, prava, ravan, diedar, poliedar, ortogonalna projekcija), grupa A

Konstruisanje. Dobro došli na... SREDNJA MAŠINSKA ŠKOLA NOVI SAD DEPARTMAN ZA PROJEKTOVANJE I KONSTRUISANJE

Geometrija (I smer) deo 1: Vektori

Prvi pismeni zadatak iz Analize sa algebrom novembar Ispitati znak funkcije f(x) = tgx x x3. 2. Naći graničnu vrednost lim x a

Zadaci iz trigonometrije za seminar

KVADRATNA FUNKCIJA. Kvadratna funkcija je oblika: Kriva u ravni koja predstavlja grafik funkcije y = ax + bx + c. je parabola.

KOMUTATIVNI I ASOCIJATIVNI GRUPOIDI. NEUTRALNI ELEMENT GRUPOIDA.

Program testirati pomoću podataka iz sledeće tabele:

I.13. Koliki je napon između neke tačke A čiji je potencijal 5 V i referentne tačke u odnosu na koju se taj potencijal računa?

Dvanaesti praktikum iz Analize 1

DRUGI KOLOKVIJUM IZ MATEMATIKE 9x + 6y + z = 1 4x 2y + z = 1 x + 2y + 3z = 2. je neprekidna za a =

FTN Novi Sad Katedra za motore i vozila. Teorija kretanja drumskih vozila Vučno-dinamičke performanse vozila: MAKSIMALNA BRZINA

1. zadatak , 3 Dakle, sva kompleksna re{ewa date jedna~ine su x 1 = x 2 = 1 (dvostruko re{ewe), x 3 = 1 + i

APROKSIMACIJA FUNKCIJA

Konstruisati efikasan algoritam znači dati skup preciznih uputstava kako doći do rešenja zadatog problema Algoritmi se mogu opisivati:

MERENJE, GREŠKE MERENJA I OBRADA REZULTATA MERENJA

Strukture podataka i algoritmi 1. kolokvij 16. studenog Zadatak 1

PARCIJALNI IZVODI I DIFERENCIJALI. Sama definicija parcijalnog izvoda i diferencijala je malo teža, mi se njome ovde nećemo baviti a vi ćete je,

MATEMATIKA 2. Grupa 1 Rexea zadataka. Prvi pismeni kolokvijum, Dragan ori

Zavrxni ispit iz Matematiqke analize 1

Sume kvadrata. mn = (ax + by) 2 + (ay bx) 2.

Zadaci iz Osnova matematike

2log. se zove numerus (logaritmand), je osnova (baza) log. log. log =

PID: Domen P je glavnoidealski [PID] akko svaki ideal u P je glavni (generisan jednim elementom; oblika ap := {ab b P }, za neko a P ).

Tačno merenje Precizno Tačno i precizno

Betonske konstrukcije 1 - vežbe 3 - Veliki ekscentricitet -Dodatni primeri

ANALIZA SA ALGEBROM I razred MATEMATI^KA LOGIKA I TEORIJA SKUPOVA. p q r F

Ministarstvo prosvete i sporta Republike Srbije Druxtvo matematiqara Srbije Prvi razred A kategorija

1. Kontinualna i diskretna računska sredstva Kontinualna računska 2. Istorijat razvoja računarskih sistema premehanički period

RIJEŠENI ZADACI I TEORIJA IZ

XI dvoqas veжbi dr Vladimir Balti. 4. Stabla

Pošto pretvaramo iz veće u manju mjernu jedinicu broj 2.5 množimo s 1000,

Reprezentacija brojeva u

Matematička analiza 1 dodatni zadaci

INTELIGENTNO UPRAVLJANJE

Inženjerska grafika geometrijskih oblika (5. predavanje, tema1)

Trigonometrijske nejednačine

Univerzitet u Nišu, Prirodno-matematički fakultet Prijemni ispit za upis OAS Matematika

Riješeni zadaci: Nizovi realnih brojeva

Iskazna logika 1. Matematička logika. Department of Mathematics and Informatics, Faculty of Science, University of Novi Sad, Serbia.

Klasifikacija blizu Kelerovih mnogostrukosti. konstantne holomorfne sekcione krivine. Kelerove. mnogostrukosti. blizu Kelerove.

IZVODI ZADACI (I deo)

Cauchyjev teorem. Postoji više dokaza ovog teorema, a najjednostvniji je uz pomoć Greenove formule: dxdy. int C i Cauchy Riemannovih uvjeta.

4 Numeričko diferenciranje

RAČUNSKE VEŽBE IZ PREDMETA POLUPROVODNIČKE KOMPONENTE (IV semestar modul EKM) IV deo. Miloš Marjanović

π π ELEKTROTEHNIČKI ODJEL i) f (x) = x 3 x 2 x + 1, a = 1, b = 1;

Otpornost R u kolu naizmjenične struje

Riješeni zadaci: Limes funkcije. Neprekidnost

1 Pojam funkcije. f(x)

VJEŽBE 3 BIPOLARNI TRANZISTORI. Slika 1. Postoje npn i pnp bipolarni tranziostori i njihovi simboli su dati na slici 2 i to npn lijevo i pnp desno.

Transcript:

Realni brojevi u pokretnom zarezu Predstavljaju se pomoću osnove β (koja je uvek parna) i preciznosti p. Primer: β=10, p=4: broj 0.4 se predstavlja kao 4.000 10 1 β=10, p=4: broj broj 564000000000000000000000000 se predstavlja kao 5.640 10 26 β=10, p=4: broj broj 564000055555555555555555555 se predstavlja kao 5.640 10 26 β=2 i p=10 broj 0.4 se predstavlja kao 1.100110011 2 2. Opšti slučaj Oznake: ±d 0.d 1 d 2...d (p 1) β e d 0.d 1 d 2...d (p 1) značajni deo (eng. significand). Zapisuje se u brojčanom sistemu sa osnovom β, tj. 0 d i < β. β osnova e eksponent p preciznost. Zapis broja za koji važi da je d 0 0 se naziva normalizovan. U savremenim računarima β=2 ili β=16.

2 Zapis brojeva u pokretnom zarezu Različit zapis realnih brojeva u pokretnom zarezu kroz istoriju: pre-ieee754 format IEEE754 format IEEE854 format IEEE754R format

3 Formati zapisa realnih brojeva u pokretnom zarezu Slika 1: Formati zapisa relanih brojeva u pokretnom zarezu kroz istoriju

4

Slika 3: Formati zapisa relanih brojeva u pokretnom zarezu kroz istoriju (nastavak) 5

Slika 4: Formati zapisa relanih brojeva u pokretnom zarezu kroz istoriju (nastavak) 6

7 Primer zapisa sa binarnom osnovom - PDP-11, VAX-11 31 30 23 22 0 Uvećani eksponent Frakcija Bit za znak Slika 5: Format zapisa realnog broja pomoću binarne osnove Važi Vrednost eksponenta se povećava za 1 dok frakcija postaje 0.d 0 d 1 d 2...d (p 1) Frakcija d 0 d 1 d 2...d (p 1) se predstavlja preko 24 bita, sa 23 binarne pozicije na mestima 0-22. Eksponent se zapisuje u 8 bita na pozicijama 23 30 uz uvećanje od 128.

8 Znak Eksponent Frakcija +15 = 0 10000100 11100000000000000000000 15 = 1 10000100 11100000000000000000000 +1/64 = 0 01111011 00000000000000000000000 0 = 0 00000000 00000000000000000000000 (1 2 24 ) 2 +127 = 0 11111111 11111111111111111111111 +1 2 128 = 0 00000001 00000000000000000000000 Provera vrednosti zapisa broja +15: Znak = + Eksponent = 4 (=132-128) Frakcija = (0.1111) 2 = +1 2 1 +1 2 2 +1 2 3 +1 2 4 Vrednost = Znak frakcija * 2 eksponent = (+1 2 1 +1 2 2 +1 2 3 +1 2 4 ) * 2 4 = +1 2 3 +1 2 2 +1 2 1 +1 2 0 = 8 + 4+ 2 +1 = +15 Tabela 1: Zapis realnih brojeva u jednostrukoj tačnosti / binarna osnova

9 Za veličinu eksponenta e važi 2 7 e 2 7 1 Za vrednost s kojom se predstavlja frakcija važi 2 1 s 1 2 24 Na osnovu prethodnog, mogu se zapisati brojevi u intervalu 2 1 2 128 x (1 2 24 ) 2 +127 Medjutim, kako važi da je kod za broj 2 1 2 128 predstavlja 0, opseg je 2 128 x (1 2 24 ) 2 +127, odnosno 2.9 10 39 < x < 1.7 10 +38

10 63 62 55 54 32 Uvećani eksponent Frakcija Bit za znak 31 0 Produžetak frakcije Slika 6: Format zapisa realnog broja u dvostrukoj tačnosti pomoću binarne osnove Interval realnih brojeva koji mogu da se predstave u dvostrukoj tačnosti je 2 128 x (1 2 56 ) 2 +127

11 Zapis brojeva u pokretnom zarezu pomoću binarne osnove - IEEE754 format) Karakteristike izračunavanja sa realnim brojevima pre pojave standarda IEEE 754: 1. Slaba prenosivost numerički intenzivnih programa. 2. Postoje razlike u rezultatima u izvršavanju istog programa na različitim računarskim sistemima. 3. IEEE 754 poboljšava prenosivost programa propisujući algoritme za operacije sabiranja, oduzimanja, množenja, deljenja i izračunavanje kvadratnog korena način njihove implementacije načine zaokruživanja i ponašanja u graničnim slučajevima Neki problemi koji se javljaju pri izračunavanjima sa realnim brojevima su:

12 1. Veličina greške pri zapisu i zaokruživanju broja β=10 i p=3. Neka je rezultat izračunavanja 5.76 10 2, matematički tačna vrednost računata sa beskonačnom preciznošću 0.0574. Greška zapisa je veličine 2 jedinična vrednost na poslednjem mestu zapisa broja. 0.0574367 5.74 10 2 greška je 0.367 jedinica na poslednjem mestu. Veličina jedinica na poslednjem mestu se označava sa ulp (eng. unit in the last place. U opštem slučaju, ako broj d 0.d 1...d (p 1) β e predstavlja broj z, tada je greška u zapisu d 0.d 1...d (p 1) (z/β e ) β p 1 ulp-a. Relativna greška je apsolutna vrednost razlike izmedju realnog broja i njegove reprezentacije podeljena sa apsolutnom vrednošću realnog broja. Na primer, relativna greška pri aproksimaciji 5.74367 sa 5.74 10 0 je 0.00367/5.74367 0.0006.

13 ulp i relativna greška zavise od tzv. mašinskog ε=(β/2)β p ; Relativna greška uvek zapisuje kao faktor od ε. Na primer, u prethodnom primeru je ε=(β/2)*β p =5*(10) 3 =0.005. Tako se relativna greška može izraziti kao ((0.00367/5.74367)/0.005)ε 0.12ε Razlika izmedju ulp i relativne greške: x = 12.35 je aproksimiran sa x a = 1.24 10 1. Greška je 0.5ulp, a relativna greška je 0.8ε. 8 x a : tačna vrednost je 8 x = 98.8, izračunata vrednost je 8 x a = 9.92 10 1. Greška merena u ulp je 8 puta veća, relativna greška je ista. Ako je realan broj zapisan sa greškom od n ulp-a, tada je broj cifara obuhvaćenih greškom log β n, a ako je relativna greška nε tada je broj obuhvaćenih cifara log β n.

14 2. Cifre čuvari. Neka je npr. p = 6, β=10 i neka treba naći razliku 10000.1-9999.93: x = 1.00001 10 4 y = 0.99999 10 4 x-y = 0.00002 10 4 Tačan odgovor je 0.17, greška od oko 30 ulp-a; Operacija sa dodatnim ciframa, npr. sa P + 1 cifrom: x = 1.000010 10 4 y = 0.999993 10 4 x-y = 0.000017 10 4 3. Tačno zaokružene operacije. Operacije koje se izvode tako da se izračuna tačna vrednost a zatim zaokruži na najbliži broj u pokretnom zarezu se nazivaju tačno zaokružene. Zaokruživanje: na najbližu vrednost (4,48 4,5; 4,34 4,3; 4,45?) na parnu cifru (4,45 4,4)

15 Opis IEEE 754 β=2 ±1.d 1 d 2...d (p 1) 2 e bit za znak 8 bita 23bita uvećani eksponent frakcija a) Jednostruka tačnost bit za znak 11 bita uvećani eksponent 52 bita frakcija b) Dvostruka tačnost Slika 7: Format zapisa realnog broja prema standardu IEEE 754

16 Znak Eksponent Frakcija +15 = 0 10000010 11100000000000000000000 15 = 1 10000010 11100000000000000000000 +1/64 = 0 01111001 00000000000000000000000 +0 = 0 00000000 00000000000000000000000 0 = 1 00000000 00000000000000000000000 (1 2 24 ) 2 +128 = 0 11111110 11111111111111111111111 +1 2 126 = 0 00000001 00000000000000000000000 +1 2 149 = 0 00000000 00000000000000000000001 Provera vrednosti zapisa broja +15: Znak = + Eksponent = 3 (=130-127) Frakcija = (1.111) 2 = 1 2 0 +1 2 1 +1 2 2 +1 2 3 Vrednost = Znak frakcija * 2 eksponent = (+1 2 0 +1 2 1 +1 2 2 +1 2 3 ) * 2 3 = +1 2 3 +1 2 2 +1 2 1 +1 2 0 = 8 + 4+ 2 +1 = +15 Tabela 2: Zapis realnih brojeva u jednostrukoj tačnosti prema IEEE 754 standardu

17 Parametar Format Jednostruki Jednostruki Dvostruki Dvostruki Četvorostruki prošireni prošireni Dužina formata 32 43 64 79 128 Dužina eksponenta 8 11 11 15 15 Dužina frakcije 23 31 52 63 112 Preciznost (p) 24 32 53 64 113 Najveći eksponent (emax) +127 +1023 +1023 +16383 +16383 Najmanji eksponent (emin) -126-1022 -1022-16382 -16382 Uvećanje eksponenta 127 1023 1023 16383 16383 Nmax (1-2 24 ) 2 128 xxx (1-2 53 ) 2 1024 xxx (1-2 113 ) 2 16384 3.4 10 +38 1.8 10 +308 1.2 10 +4932 Nmin 1.0 2 126 xxx 1.0 2 1022 xxx 1.0 2 16382 1.2 10 38 2.2 10 308 3.4 10 4932 Dmin 1.0 2 149 xxx 1.0 2 1074 xxx 1.0 2 16494 1.4 10 45 4.9 10 324 6.5 10 4966 Precdek 6 9 xxx 15 17 xxx 33 36 Dmin Najmanji (po apsolutnoj vrednosti) predstavljivi denormalizovani broj Nmax Najveći (po apsolutnoj vrednosti) predstavljivi broj Nmin Najmanji (po apsolutnoj vrednosti) predstavljivi normalizovani broj Precdek Značajnih dekadnih cifara xxx Zavisi od implementacije Tabela 3: Pregled IEEE 754 formata zapisa

18 Specijalne vrednosti Označena nula Obavezno je dodefinisanje +0 = 0; Ne važi ekvivalencija x = y 1/x = 1/y za x = +0,y = 0. Utiče na znak rezultata, npr. +123*(-0) = -0; x važi 1/(1/x) = x (uključujući i x = ± ) Olakšana upotreba funkcija koje imaju potkoračenje i prekid u 0. Npr. definiše se log 0 =- i log x = NaN za svakio x<0. Ako x 0 tada log x= NaN; bez označene nule bi bilo log x =-. Denormalizovani brojevi Uvek važe relacije oblika x = y x y = 0. Programske naredbe oblika if (x<>y) then z=1/(x-y) ne izazivaju prekid zbog deljenja nulom. Smanjuje se broj programskih prekida zbog potkoračenja Bez denormalizovanih brojeva prethodni primeri ne bi važili za x = 1,0002 2 125 i y = 1,0001 2 125. Beskonačno Omogućava nastavak izvršavanja programa u slučaju prekoračenja. Nan (Not-a-number, nije broj) Tihi NaN. Signalizira izuzeto stanje kod aritmetičkih operacija, poredjenja, i konverzije kod operacija koje su deo standarda. Signalni NaN. Označava pojavu nedozvoljene operacije u programu. NaN omogućuje nastavak izvršavanja programa u slučaju pojave neke od prethodnih grešaka programu.

19 Uvećani Implicitni Klasa podataka Znak eksponent bit Frakcija Nula ± e min -1 0 0 Denormalizovani brojevi ± e min -1 0 0 Normalizovani brojevi ± e min e e max 1 proizvoljno Beskonačno ± e max +1 xxx 0 Tihi NaN ± e max +1 xxx f 0 =1, f r =proizvoljno Signalni NaN ± e max +1 xxx f 0 =0, f r 0 xxx Ne primenjuje se U aritmetičkim operacijama se dodaje 1 e min -1 Sadržaj polja za eksponent su sve nule e max +1 Sadržaj polja za eksponent su sve jedinice NaN Not-a-number f 0 Krajnje levi bit frakcije Ostali bitovi frakcije f r Tabela 4: Klase podataka u IEEE 754

20 Zaokruživanje u IEEE 754 Zaokruživanje se vrši svaki put kada rezultat operacije nije tačan. Postoje četiri moguća načina zaokruživanja: 1. Zaokruživanje na najbližu vrednost uz zaokruživanje na parnu cifru kada je medjurezultat na sredini (predefinisano) 2. Zaokruživanje prema + : Ako je broj pozitivan i ako postoji bar jedna jedinica na nekoj poziciji desno od poslednje pozicije koja se čuva u zapisu, na tom mestu se dodaje jedinica. Bez obzira na znak broja, odbace se svi bitovi desno od poslednje pozicije koja se čuva u zapisu. 3. Zaokruživanje prema - : Ako je broj negativan i ako postoji bar jedna jedinica na nekoj poziciji desno od poslednje pozicije koja se čuva u zapisu, na tom mestu se oduzima jedinica. Bez obzira na znak broja, odbace se svi bitovi desno od poslednje pozicije koja se čuva u zapisu. 4. Zaokruživanje ka 0

21 Specijalne vrednosti u aritmetičkim operacijama Ako podatak predstavlja normalizovani broj, denormalizovani broj ili nulu, rezultat se dobija u skladu sa uobičajenim načinom izračunavanja. Rezultat operacije koja ima beskonačno kao operand: zameni se sa konačnim brojem x i odredi granica kada x. Na primer, 45/ + = 0 jer lim 45/x = 0. x + Ako granica kada x ± ne postoji, tada je rezultat operacije NaN. Važi < bilo koji konačan broj < + Kada operacija uključuje i rezultat nije QNaN, rezultat je. 45 + (+ ) = + 45 + (- ) = - 45 - (+ ) = - 45 - (- ) = + (+ ) + (+ ) = + (+ ) - (- ) = + (- ) + (- ) = - (- ) - (+ ) = - Operacija QNaN formiran pomoću Sabiranje, oduzimanje (± ) ± (± ) Množenje 0 Deljenje 0/0, / Ostatak x REM 0, REM y Kvadratni koren x kada je x<0 Svaka operacija argument operacije = SNaN Tabela 5: Operacije koje proizvode Tihi NaN

22 Sabiranje i oduzimanje Neka x = x s 2 x e,y = y s 2 y e. Tada važi { (x s 2 x e y e ± y s ) 2 y e ako x e y e x ± y = (x s ± y s 2 y e x e ) 2 x e ako y e < x e Pri izvodjenju operacija se vodi računa o specijalnim vrednostima. c Osnovni koraci u algoritmu su 1. Provera postojanja specijalnih vrednosti. 2. Oduzimanje x y se se realizuje kao x + ( y) uz prethodnu promenu znaka argumenta y. 3. Ukoliko je jedan od sabiraka jednak nuli, vrednost drugog sabirka je rezultat sabiranja. 4. Sabirci se svode na jednake eksponente. 5. Saberu se frakcije sabiraka pri čemu se uzimaju u obzir njihovi znaci. Sabiranje se vrši po pravilima za sabiranje celih brojeva u zapisu znak i apsolutna vrednost. Ukoliko je dobijeni rezultat nula tada je ukupan zbir nula. Ako je pak pri sabiranju došlo do prekoračenja, dobijeni rezultat se pomera za jedno mesto udesno uz povećanje vrednosti eksponenta za jedan. Ako ovo povećanje vrednosti eksponenta dovede do prekoračenja, ukupan rezultat sabiranja je + ili - u zavisnosti od znaka broja. 6. Ako je rezultat sabiranja frakcija normalizovan zaokružuje se i fromira zbir kombinacijom zaokružene frakcije i eksponenta. Ako dobijeni rezultat nije normalizovan, pokušava se njegova normalizacija.

23 Množenje i deljenje Neka x = x s 2 x e,y = y s 2 y e. Tada važi: x y = (x s y s ) 2 x e+y e x/y = (x s /y s ) 2 x e y e Pri izvodjenju operacija se vodi računa o specijalnim vrednostima. Osnovni koraci u algoritmu za množenje su 1. Provera postojanja specijalnih vrednosti. 2. Ukoliko je bar jedan od činilaca jednak nuli, rezultat je 0. 3. Saberu se vrednosti eksponenata i od dobijenog zbira oduzme uvećanje. Ako je došlo do prekoračenja pri ovom sabiranju krajnji rezultat je ± u zavisnosti od znaka brojeva x i y. Ako je pak došlo do potkoračenja vrednosti eksponenta krajnji rezultat je pozitivna ili negativna (u zavisnosti od znaka brojeva x i y) nula. 4. Pomnože se frakcije brojeva. Množenje se vrši prema pravilima za množenje celih brojeva zapisanih pomoću znaka i apsolutne vrednosti. 5. Dobijeni rezultat se normalizuje sličnim postupkom kao kod sabiranja. 6. Broj (binarnih) cifara proizvodu je dvostruko veći od broja cifara vrednost koje su umnožene; cifre koje su višak se odbacuju u procesu zaokruživanja.

24 Osnovni koraci u algoritmu za deljenje su: 1. Provera postojanja specijalnih vrednosti. 2. Ako je delilac nula tada Ako je deljenik 0 količnik je ± u zavisnosti od znaka x. Ako je deljenik =0 tada je rezultat NaN. 3. Oduzmu se vrednosti eksponenata i na dobijenu razliku doda uvećanje. Ako je došlo do prekoračenja pri ovom sabiranju krajnji rezultat je ± u zavisnosti od znaka brojeva x i y. Ako je pak došlo do potkoračenja vrednosti eksponenta krajnji rezultat je pozitivna ili negativna (u zavisnosti od znaka brojeva x i y) nula. 4. Podele se frakcije brojeva. Deljenje se vrši prema pravilima za deljenje celih brojeva zapisanih pomoću znaka i apsolutne vrednosti. 5. Dobijeni rezultat se normalizuje sličnim postupkom kao kod sabiranja. 6. Dobijeni količnik se zaokružuje prema pravilima za zaokruživanje.

25 Izuzeta stanja, zastavice i zamke Kada dodje do izuzetog stanja (kao npr. deljenja sa nulom ili prekoračenja) predefinisana akcija po IEEE standardu je predavanje rezultata i nastavak sa radom. Po IEEE standardu postoji: prekoračenje, potkoračenje, deljenje sa nulom, pogrešna operacija i netačnost. Za svako od ovih izuzeća se postavlja posebna zastavica (eng. flag) koju korisnik može programski da ispituje. IEEE 754 omogućuje rad sa zamkama. Npr. do uslov until (x >= 100) Ne bi korektno radio jer poredjenje sa NaN uvek vraća netačno pa bi postojala opasnost ulaska u beskonačni ciklus.

26 Zapis brojeva u pokretnom zarezu pomoću heksadekadne osnove (IBM S/360, S/370, S390, z-series) 31 30 24 23 0 Uvećani eksponent Frakcija Bit za znak Slika 8: Format zapisa realnog broja pomoću heksadekadne osnove Važi Osnova β=16 Eksponent se zapisuje u 7 bita na pozicijama 24 30 uz uvećanje od 64. uz uvećanje za 64. Frakcija je normalizovana i zapisuje se sa 6 heksadekadnih cifara u 24 bita.

27 Za eksponent e važi Za frakciju s važi 2 6 e 2 6 1 16 1 s 1 16 6 Interval kome pripada realan broj x koji može da se zapiše uz korišćenje 32 bita je 16 1 16 64 x (1 16 6 ) 16 +63, odnosno 5.5 10 79 < x < 7.2 10 +75 Najmanji denormalizovani broj koji može da se zapiše je 16 6 16 64 = 16 70 5.2 10 85

28 Znak Eksponent Frakcija +15 = 0 1000001 111100000000000000000000 15 = 1 1000001 111100000000000000000000 +1/64 = 0 0111111 010000000000000000000000 0 = 0 0000000 000000000000000000000000 +16 1 16 64 = 0 0000000 000100000000000000000000 (1 16 6 ) 16 +63 = 0 1111111 111111111111111111111111 +16 6 16 64 = 0 0000000 000000000000000000000001 Provera vrednosti zapisa broja +15: Znak = + Eksponent = 1 (=65-64) Frakcija = (0.F) 16 = F 16 1 Vrednost = Znak frakcija * 16 eksponent = +F 16 1 * 16 1 = +F 16 = +15 10 Tabela 6: Zapis realnih brojeva u jednostrukoj tačnosti / heksadekadna osnova

29 63 62 56 55 32 Uvećani eksponent Frakcija Bit za znak 31 0 Produžetak frakcije Slika 9: Format zapisa realnog broja u dvostrukoj tačnosti pomoću heksadekadne osnove Interval realnih brojeva koji mogu da se predstave u dvostrukoj tačnosti je 16 1 16 64 x (1 16 14 ) 16 +63, odnosno 5.5 10 79 < x < 7.2 10 +75 Najmanji denormalizovani broj koji može da se zapiše je 16 78 1.2 10 94

30 bit za znak bit za znak 7 bita 56 bita uvećani eksponent vt 7 bita uvećani eksponent mt frakcija veće težine (14 heksadekadnih cidara) 127 64 56 bita frakcija manje težine (14 heksadekadnih cidara) 63 0 Slika 10: Format zapisa realnog broja u dvostrukoj proširenoj (četvorostrukoj) tačnosti pomoću heksadekadne osnove Interval realnih brojeva koji mogu da se predstave u dvostrukoj proširenoj (četvorostrukoj) tačnosti je 16 1 16 64 x (1 16 28 ) 16 +63, odnosno 5.5 10 79 < x < 7.2 10 +75 Najmanji denormalizovani broj koji može da se zapiše je 16 92 1.7 10 111

31 Bez obzira na izabrani način zapisa realnih brojeva, količina realnih brojeva koji mogu da se zapišu je ista, ali je gustina na pojedinim delovima brojčane ose različita 2 128 0 +2 128 +2 127 +2 126 +2 125 (a) Zapis pomoću binarne osnove, pre-ieee754 format 2 149 +2 149 2 126 0 +2 126 +2 125 +2 124 +2 123 (b) Zapis pomoću binarne osnove - IEEE 754 format sa uključenim denormalizovanim vrednostima 16 70 +16 70 16 65 0 +16 65 +16 64 +16 63 +16 62 (c) Zapis pomoću heksadekadne osnove sa uključenim denormalizovanim vrednostima Slika 11: Gustina zapisa realnih brojeva (za jednostruku tačnost)