Brojevi u pokretnom zarezu

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
KRUŽNICA I KRUG VJEŽBA ZA ISPIT ZNANJA.
Advertisements

Pritisak vazduha Vazduh je smeša gasova koja sadrži 80% azota, 18% kiseonika i 2% ugljen dioksida, drugih gasova i vodene pare. vazdušni (atmosferski)
Odabrane oblasti analitičke hemije
Laboratorijske vežbe iz Osnova Elektrotehnike
TRIGONOMETRIJSKE FUNKCIJE
MS Excel 2003.
Ogledni čas iz matematike
MATEMATIKA NA ŠKOLSKOM IGRALIŠTU
PTP – Vježba za 2. kolokvij Odabir vrste i redoslijeda operacija
INDINŽ Z – Vježba 2 Odabir vrste i redoslijeda operacija
KOMBINATORIKA Vežbe 1 1.
AOS
Nebojša Lazarević, prof. Inf. STR 15 – STR. 32
Van der Valsova jednačina
BROJ π Izradio: Tomislav Svalina, 7. razred, šk. god /2016.
NASLOV TEME: OPTICKE OSOBINE KRIVIH DRUGOG REDA
Digitalna logika i minimizacija logičkih funkcija
Čvrstih tela i tečnosti
SNAGA U TROFAZNOM SUSTAVU I RJEŠAVANJE ZADATAKA
Generator naizmenične struje
18.Основне одлике синхроних машина. Начини рада синхроног генератора
Toplotno sirenje cvrstih tela i tecnosti
Merenja u hidrotehnici
POLINOMI :-) III℠, X Силвија Мијатовић.
Komponente digitalnih sistema
VODA U TLU.
VREMENSKI ODZIVI SISTEMA
Aminokiseline, peptidi, proteini
Matematika Blackjacka – kockarska matematika
Kontrola devijacije astronomskim opažanjima
Kako određujemo gustoću
Centralna procesorska jedinica
SPECIJALNE ELEKTRIČNE INSTALACIJE
Matrice.
Programski jezik C.
Vijetove formule. Rastavljanje kvadratnog trinoma na linearne činioce
TROUGΔO.
Vijetove formule. Rastavljanje kvadratnog trinoma na linearne činioce
JEDNAČINA PRAVE Begzada Kišić.
Obrada slika dokumenta
Rezultati vežbe VII Test sa patuljastim mutantima graška
Elektronika 6. Proboj PN spoja.
II. MEĐUDJELOVANJE TIJELA
KRETANJE TELA U SREDINI SA PRIGUŠENJEM – PROBLEM KIŠNE KAPI
Predavanje br. 8 Simetralne ravni
KALIBRACIJA SONDE ZA PRITISAK VEŽBA 2.1
Uredjeni skupovi i mreže
FORMULE SUMIRANJE.
Dimenziona analiza i teorija sličnosti
Normalna raspodela.
Strujanje i zakon održanja energije
Električni otpor Električna struja.
Izradila: Ana-Felicia Barbarić
Polifazna kola Polifazna kola – skup električnih kola napajanih iz jednog izvora i vezanih pomoću više od dva čvora, kod kojih je svako kolo pod dejstvom.
Analiza deponovane energije kosmičkih miona u NaI(Tl) detektoru
Transformacija vodnog vala
Primjena Pitagorina poučka na kvadrat i pravokutnik
SREDIŠNJI I OBODNI KUT.
Kvarkovske zvijezde.
10. PLAN POMAKA I METODA SUPERPOZICIJE
Dan broja pi Ena Kuliš 1.e.
POUZDANOST TEHNIČKIH SUSTAVA
DISPERZIJA ( raspršenje, rasap )
Unutarnja energija Matej Vugrinec 7.d.
N. Zorić1*, A. Šantić1, V. Ličina1, D. Gracin1
Tomislav Krišto POSLOVNA STATISTIKA Tomislav Krišto
Kako izmjeriti opseg kruga?
DAN BROJA π.
MJERENJE TEMPERATURE Šibenik, 2015./2016.
OŠ ”Jelenje – Dražice” Valentina Mohorić, 8.b
Μεταγράφημα παρουσίασης:

Brojevi u pokretnom zarezu Uvod u organizaciju računara 1 1

Uvod u organizaciju računara Mane zapisa u fiksnom zarezu Zapisuju se samo brojevi sličnog reda veličine Zapisi (5,1) i (5,4) Šta ako je potrebno zapisivati brojeve drastično različitih redova veličine? Odgovor je zapis u pokretnom zarezu Složenije zapisivanje i operacije Uvod u organizaciju računara 2

Uvod u organizaciju računara Zapisivanje razlomljenih brojeva Ceo i razlomljeni deo broja se odvojeno prebacuju u traženu osnovu. Ceo deo se zapisuje prema poznatim pravilima. Razlomljeni deo se zapisuje tako što se u svakom koraku množi osnovom u kojoj želimo da zapišemo broj. Posle svakog množenja celobrojni deo predstavlja cifru u zapisu, a razlomljeni deo se ponovo množi osnovom sve dok je različit od nule. Uvod u organizaciju računara 3

Uvod u organizaciju računara Primer Zapisati broj 0.84375 u osnovi 4 =(0.312)4 1 2 3 0.84375 0.375 0.5 Uvod u organizaciju računara 4

Uvod u organizaciju računara Zapis sa pokretnim zarezom Broj se predstavlja kao ± m * be m je “značajni deo”, “mantisa”, “frakcija” b je “osnova zapisa” e je “eksponent” broj cifara značajnog dela je “preciznost” i označavaćemo ga sa p Uvod u organizaciju računara 5

Uvod u organizaciju računara Primer (23.71) 10 = (17.B5C2)16 = (0.17B5C2)16 * 162 greška < 16-4 Uvod u organizaciju računara 6

Uvod u organizaciju računara Greške pri zaokruživanju Zapis realnih brojeva u računaru je aproksimacija skupa realnih brojeva u određenom intervalu. Pri aproksimiranju na određeni broj decimala može doći do zaokruživanja, a samim tim i greške. Greška pri zaokruživanju se meri na dva načina: Apsolutna (u terminima ulp-a) Relativna (u terminima mašinskog ε) Uvod u organizaciju računara 7

Uvod u organizaciju računara ULP ULP (Unit in the last place) je najmanja vrednost za koju se mogu razlikovati dva broja u pokretnom zarezu zapisana u određenoj osnovi i sa određenom preciznošću. Ako je broj z predstavljen u računaru kao d0,d-1…d-(p-1) * be, onda je greška |d0,d-1…d-(p-1) - (z/be)| * bp-1 ulp-a Uvod u organizaciju računara 8

Uvod u organizaciju računara Primer b=10, p=4. Broj z=0.034869 je predstavljen kao 3.487 *10-2. Greška je: |3.487 – (0.034869/10-2)| * 103 = |3.487 – 3.4869| * 103 = 0.0001 * 103 = 0.1 ulp-a Uvod u organizaciju računara 9

Uvod u organizaciju računara Relativna greška Relativna greška je apsolutna vrednost razlike realnog broja i njegove reprezentacije podeljena sa apsolutnom vrednošću realnog broja. Uvek se zapisuje u terminima mašinskog ε=b1-p/2. Uvod u organizaciju računara 10

Uvod u organizaciju računara Primer b=10, p=4, ε=0.0005. Broj z=0.034869 je predstavljen kao 3.487 *10-2. Relativna greška je: |0.034869 – 0.03487| / |0.034869| = 0.000028678 ≈ 0.0574ε Uvod u organizaciju računara 11

Uvod u organizaciju računara Razlozi za standardizaciju Primenjivani su različiti dogovori (osnova, raspodela bitova između delova zapisa...) Različiti algoritmi zaokruživanja, izvođenja aritmetičkih operacija, itd. Slaba prenosivost numeričkih programa Odgovor: IEEE 754 (1985; 2008) Uvod u organizaciju računara 12

Uvod u organizaciju računara IEEE 754 iz 1985. Standard IEEE 754 propisuje zapise: 32 bita – jednostruka tačnost 1 bit za znak 8 bita za eksponent u zapisu sa uvećanjem 127 (zašto ne potpuni komplement?) 23 značajne binarne cifre 64 bita – dvostruka tačnost 11 bita za eksponent (uvećan za 1023) 52 značajne binarne cifre pri tome normalizovani zapisi, podrazumeva se najviša cifra 1 nula se zapisuje sa svim bitovima 0 najviši eksponent označava posebne NaN vrednosti Uvod u organizaciju računara 13

Uvod u organizaciju računara Normalni brojevi Normalni brojevi u jednostrukoj tačnosti imaju eksponent izmedju -126 (00000001) i +127 (11111110). Frakcija ima oblik 1,d-1…d-(p-1), pri čemu se prva jedinica ne zapisuje. Zapis frakcije može da ima bilo koju vrednost. Uvod u organizaciju računara 14

Uvod u organizaciju računara Primer Zapisati broj 13,25 prema standardu IEEE 754 u jednostrukoj tačnosti (13,25)10 = (1101,01)2 = (1,10101)2 * 23 Znak: 0 (+) Eksponent sa uvećanjem 127: 130 = (10000010)2 Značajni deo sa implicitnom jedinicom: 10101 - (1,10101)2 Zapis: 0 10000010 10101000000000000000000 Uvod u organizaciju računara 15

Uvod u organizaciju računara Primer Pročitati sledeći zapis: 1 10000110 01001000000000000000000 Znak: - Eksponent: 134-127=7 Frakcija: (1,01001)2 Rešenje: (-1,01001)2 * 27 = (-10100100)2 =(-164)10 Uvod u organizaciju računara 16

Uvod u organizaciju računara NaN NaN (Not a number) su specijalne vrednosti koje nisu brojevi i označavaju neke izuzetne situacije prilikom izračunavanja. Npr. 0/0 ili √-1 Eksponent NaN vrednosti je maksimalan. U slučaju jednostruke tačnosti to je 128 (11111111). Frakcija mora biti različita od nule. Postoje takozvani Signalni NaN (SNaN) i Tihi NaN (QNaN). Uvod u organizaciju računara 17

Uvod u organizaciju računara QNaN Tihi NaN predstavlja pojavu nedozvoljene operacije u programu. Propagira se kroz izračunavanje. Greška ne mora biti prijavljena. Zapis eksponenta u jednostrukoj tačnosti je 11111111. Prvi bit frakcije je 1. Ostali bitovi frakcije su proizvoljni. Uvod u organizaciju računara 18

Uvod u organizaciju računara SNaN Signalni NaN signalizira izuzetno stanje kod racunskih operacija. Može se koristiti za debagovanje npr. kako bi se uočio rad sa neinicijalizovanim promenljivim. Zapis eksponenta u jednostrukoj tačnosti je 11111111. Prvi bit frakcije je 0. Ostatak frakcije je različit od 0. Uvod u organizaciju računara 19

Uvod u organizaciju računara Beskonačno IEEE 754 standard omogućava predstavljanje beskonačnih vrednosti. Znak određuje da li se radi o +∞ ili -∞ Eksponent u jednostrukoj tačnosti ima vrednost 128 (11111111). Frakcija je 0. Uvod u organizaciju računara 20

Uvod u organizaciju računara Označena nula Nula se u jednostrukoj tačnosti predstavlja eksponentom -127 (00000000) i frakcijom 0. Pošto znak može biti + ili – (0 ili 1) onda postoje i dve nule +0 i -0. Prema standardu važi +0 = -0. log-0 = NaN, a log+0 = -∞ Uvod u organizaciju računara 21

Uvod u organizaciju računara Subnormalni brojevi (motivacija) Kod if(x!=y) return 1/(x-y); može izazvati deljenje nulom! To što se brojevi mogu zapisati, ne znači da se mogu zapisati i njihove razlike Zbog toga, a i kako bi se povećala gustina oko nule, koliko je moguće, i izbeglo potkoračenje uvode se subnormalni brojevi Uvod u organizaciju računara 22

Uvod u organizaciju računara Subnormalni brojevi U jednostrukoj tačnosti važi: Zapis eksponenta u jednostrukoj tačnosti je 00000000 Frakcija je različita od nule, a vodeća jedinica se ne podrazumeva. Ako je frakcija f, onda je predstavljeni broj 0,f * 2-126. Uvod u organizaciju računara 23

Uvod u organizaciju računara Primer Neka je broj zapisan u subnormalnom obliku kao: 0 00000000 00010000000000000000000 Radi se o broju +(0,0001)2 * 2-126 odnosno 0.0625 * 2-126 = 2-130 Uvod u organizaciju računara 24

Uvod u organizaciju računara Subnormalni brojevi Korišćenje subnormalnih brojeva može dovesti do osetnog usporenja rada programa Neki procesori omogućavaju njihovo isključivanje Da li je to generalno preporučiva praksa? Uvod u organizaciju računara 25

Uvod u organizaciju računara Svojstva IEEE 754 Izvesti raspon za normalne i za subnormalne brojeve Lako poređenje Varirajuća gustina Uvod u organizaciju računara 26

Uvod u organizaciju računara Gustina Jednak broj ekvidistantnih vrednosti između svaka dva stepena dvojke Svi stepeni dvojke se mogu zapisati Problematično predstavljanje velikih celih brojeva Gde počinje problematični interval? Uvod u organizaciju računara 27

Uvod u organizaciju računara Gustina Problemi počinju iznad 224 Tada 32-bitni int ima veću gustinu nego float Konverzija int→float→int nije bezbedna, pa treba koristiti double Uvod u organizaciju računara 28

Uvod u organizaciju računara Gustina (pojednostavljena ilustracija) Uvod u organizaciju računara 29

Uvod u organizaciju računara Gustina Ako se vreme predstavlja jednostrukom preciznošću, nakon 3 godine greška u predstavljanju je oko 8 sekundi, a nakon 32 godine 64 sekunde 64 sekunde ne deluje mnogo u odnosu na 32 godine. Da li je to problem? Uvod u organizaciju računara 30

Uvod u organizaciju računara Gustina Dva susedna broja u pokretnom zarezu imaju susedne celobrojne reprezentacije Uvećavanje celobrojne reprezentacije za jedan daje sledeći broj u pokretnom zarezu Uvod u organizaciju računara 31

Uvod u organizaciju računara ULP ponovo Kako izračunati razliku u ULP-ima između dva broja istog znaka? A različitog znaka? Uvod u organizaciju računara 32

Uvod u organizaciju računara Aritmetičke operacije Zaokruživanje Sabiranje Oduzimanje Uvod u organizaciju računara 33

Uvod u organizaciju računara Zaokruživanje Zaokruživanje se vrši kada rezultat operacije ne može biti tačno zapisan. Moguće su sledeće vrste zaokruživanja: Zaokruživanje na najbližu vrednost Zaokruživanje prema +∞ Zaokruživanje prema -∞ Zaokruživanje prema nuli. Uvod u organizaciju računara 34

Uvod u organizaciju računara Zaokruživanje na najbližu vrednost Pri ovoj vrsti zaokruživanja broj se zaokružuje na najbližu predstavljivu vrednost, uz zaokruživanje na parnu cifru kada je broj na sredini intervala između dve predstavljive vrednosti. Ovo je predefinisani način zaokruživanja. Uvod u organizaciju računara 35

Uvod u organizaciju računara Zaokruživanje prema +∞ Realizuje se u dva koraka: Ako je broj pozitivan i postoji bar jedna jedinica na nekoj poziciji desno od poslednje pozicije koja se čuva u zpisu, na poslednju poziciju se dodaje jedinica. Bez obzira na znak odbacuju se bitovi desno od poslednje pozicije koja se čuva u zapisu. Uvod u organizaciju računara 36

Uvod u organizaciju računara Zaokruživanje prema -∞ Realizuje se u dva koraka: Ako je broj negativan i postoji bar jedna jedinica na nekoj poziciji desno od poslednje pozicije koja se čuva u zpisu, na poslednju poziciju se dodaje jedinica. Bez obzira na znak odbacuju se bitovi desno od poslednje pozicije koja se čuva u zapisu. Uvod u organizaciju računara 37

Uvod u organizaciju računara Zaokruživanje ka nuli Odbacuju se svi bitovi desno od poslednje pozicije koja se čuva u zapisu. Uvod u organizaciju računara 38

Uvod u organizaciju računara ∞ u aritmetičkim operacijama Sa izuzetkom operacija koje proizvode QNaN sve operacije koje uključuju ∞ takodje imaju ∞ kao rezultat. Međutim i dalje treba paziti na znak. Uvod u organizaciju računara 39

Uvod u organizaciju računara QNaN u aritmetičkim operacijama QNaN se propagira kroz aritmetičke operacije. Može se pojaviti u sledećim slučajevima: (±∞) - (±∞) 0 * ∞ 0 / 0, ∞ / ∞ x % 0, ∞ % x √x, x<0 Bilo koja operacija čiji je argument SNaN. Uvod u organizaciju računara 40

Uvod u organizaciju računara Sabiranje i oduzimanje Prilikom sabiranja i oduzimanja operandi se svode na jednake eksponente. Manji eksponent se povećava, a cifre frakcije koja mu odgovara se pomeraju udesno za onoliko mesta za koliko je povećan eksponent. Ako pri pomeranju frakcija postane 0 rezultat je vrendost drugog operanda. Uvod u organizaciju računara 41

Uvod u organizaciju računara Sabiranje i oduzimanje Sabiranje i oduzimanje frakcija se vrše prema pravilima koja važe za cele brojeve u zapisu znak i apsolutna vrednost. Eksponent rezultata je eksponent operanada posle izjednačavanja. Ako dolazi do prekoračenja rezultat se pomera za jedno mesto udesno uz povećanje vrednosti eksponenta za jedan. Ako povećanje vrednosti eksponenta dovede do prekoračenja rezultat je ∞, ali uzevši u obzir i znak. Uvod u organizaciju računara 42

Uvod u organizaciju računara Sabiranje i oduzimanje Ako rezultat operacije nije normalizovan, pokušava se normalizacija. Cifre frakcije se pomeraju ulevo uz smanjivanje eksponenta. Može se dobiti i subnormalan rezultat. Na kraju se vrši zaokruživanje, ako je potrebno. Uvod u organizaciju računara 43

Uvod u organizaciju računara Primer 5.375+3.75 0 10000001 01011000000000000000000 (5.375) 0 10000000 11100000000000000000000 (3.75) 1,01011 +0,11110 (posle izjedačavanja eksponenata) 10, 01001 (normalizacija) 0 10000010 00100100000000000000000 =9.125 Uvod u organizaciju računara 44

Uvod u organizaciju računara Primer 5.375-2.5 0 10000001 01011000000000000000000 (5.375) 0 10000000 01000000000000000000000 (2.5) 1,01011 -0,10100 (posle izjedačavanja eksponenata) 0,10111 (normalizacija) 0 10000000 01110000000000000000000 =2.875 Uvod u organizaciju računara 45

Uvod u organizaciju računara Množenje Provera specijalnih vrednosti Ako je jedan činilac 0, rezultat je 0 Sabiranje eksponenata – rezultat može biti beskonačno usled prekoračenja ili nula usled potkoračenja Množe se značajni delovi kao neoznačeni brojevi Normalizacija Zaokruživanje Uvod u organizaciju računara 46

Uvod u organizaciju računara Deljenje Provera specijalnih vrednosti Ako je delilac 0, rezultat je beskonačno ako deljenik nije, a NaN ako je i deljenik 0 Oduzimanje eksponenata – rezultat može biti beskonačno ili nula Dele se značajni delovi kao neoznačeni brojevi Normalizacija Zaokruživanje Uvod u organizaciju računara 47

Uvod u organizaciju računara Poređenje Ako su x i y tipa float/double i sadrže rezultate izračunavanja, da li je pametno proveriti x==y? Uvod u organizaciju računara 48

Uvod u organizaciju računara Tačno zaokružene operacije Prema standardu, sabiranje, oduzimanje, množenje i deljenje moraju biti tačno zaokruženi, odnosno, proces računanja ne može uneti dodatnu grešku Npr. ako je prava vrednost operacije 4.281 tačno zaokruživanje na jednu decimalu znači da rezultat mora biti 4.3 iako bi neki računski postupci mogli doći do drugačijeg ishoda Uvod u organizaciju računara 49

Uvod u organizaciju računara Tačno zaokružene operacije Ovo, naravno, ne znači da se ikada izračunava tačna vrednost operacije, pa da se zaokružuje – to je u opštem slučaju nemoguće Računski postupak treba da bude takav da garantuje da će dobijena vrednost biti ista kao da je izračunata tačna vrednost, pa zaokružena, iako se ne vrši stvarno tačno izračunavanje ni u jednom trenutku Uvod u organizaciju računara 50

Uvod u organizaciju računara Potreba za revizijom Potreba za standardizacijom većih preciznosti zapisa Postojale su određene situacije u kojima IEEE 754 nije definisao ishod Standardizacija različitih matematičkih funkcija nad brojevima u pokretnom zarezu Uvod u organizaciju računara 51

Uvod u organizaciju računara Potreba za revizijom Potreba za dekadnom osnovom, pošto je ogromna količina realnih podataka vezana za nju Ugrubo oko 53% podataka su u dekadnoj osnovi Predstavljivost i zaokruživanje brojeva u osnovi 2 nisu intuitivni iz perspektive osnove 10 Uvod u organizaciju računara 52

Uvod u organizaciju računara Vrste zapisa Definisane su sledeće vrste zapisa: Zapisi za razmenu podataka Prošireni i proširivi zapisi Uvod u organizaciju računara 53

Uvod u organizaciju računara Zapisi za razmenu podataka Zapisi potpuno definisane strukture Omogućuju razmenu podataka između različitih platformi I dalje treba voditi računa o redosledu zapisa bajtova (little endian, big endian) Uvod u organizaciju računara 54

Uvod u organizaciju računara Prošireni i proširivi zapisi Nisu precizno definisani Preporučeno je korišćenje veće preciznosti za operacije u kojima može doći do gubitka informacije (jedno delimično rešenje su cifre čuvari) Prošireni formati treba da imaju veću preciznost i opseg eksponenta Proširive formate treba da definiše korisnik Uvod u organizaciju računara 55

Uvod u organizaciju računara Zapisi u binarnoj osnovi Standard definiše zapise pomoću 16, 32, 64 i 128 bita binary32 i binary64 odgovaraju zapisima u jednostrukoj i dvostrukoj tačnosti iz 1985. Ustanovljene su formule po kojima se mogu izračunati detalji formata za sve umnoške broja 32 Uvod u organizaciju računara 56

Uvod u organizaciju računara Zapisi u dekadnoj osnovi Osnovni formati su decimal64 i decimal128, ali postoji i decimal32 Omogućavaju tačno zapisivanje razlomljenih brojeva u dekadnoj osnovi u pokretnom zarezu sa određenim brojem cifara Oslanjaju se na binarni zapis celog broja ili na BCD Kompleksniji zapis nego za osnovu 2 Uvod u organizaciju računara 57

Uvod u organizaciju računara decimal32 ±d1d2d3d4d5d6d7 ∙ 10e 1 bit za znak 11 bitova za “kombinaciju” 20 bitova za ostatak značajnog dela Uvod u organizaciju računara 58

Uvod u organizaciju računara decimal32 Kombinacija čuva informaciju o tipu objekta, eksponentu i delu značajnih cifara Ostatak značajnog dela čuva značajne cifre Uvod u organizaciju računara 59

Uvod u organizaciju računara Specifičnosti dekadnog zapisa Dva sistema kodiranja – DPD i BID (binary- integer decoding). Prvo je pogodnije za hardversku implementaciju, a drugo za softversku. Polja za eksponent i značajni deo nisu razdvojena kako bi se maksimalno dobilo na preciznosti, pa se u polju koje se naziva kombinacija čuva informacija o eksponentu i o jednoj cifri Uvod u organizaciju računara 60

Uvod u organizaciju računara Specifičnosti dekadnog zapisa Reprezentacije (m,e) nisu normalizovane, tako da jedan broj može imati više validnih reprezentacija Čak i kad je reprezentacija (m,e) fiksirana, moguća su različita binarna kodiranja dekadnih brojeva Uvod u organizaciju računara 61

Uvod u organizaciju računara Kanoničnost Označava preferiranu reprezentaciju Postoje nekanonski zapisi, koji nisu rezultati operacija, ali mogu biti njihovi ulazi Može imati različita konkretna značenja u zavisnosti od toga da li se odnosi na deklete (desetobitne zapise tri dekadne cifre), izbor eksponenta, NaN ili beskonačno Uvod u organizaciju računara 62

Uvod u organizaciju računara Dekleti Ukoliko se koristi DPD kodiranje, po tri cifre se predstavljaju jednim dekletom Prilikom kodiranja u DPD, moguće je dobiti 1000 binarnih dekleta Prilikom dekodiranja 1024 dekleta imaju vrednost Postoje brojevi koji predstavljaju vrednost više od jednog dekleta Dekleti koji se ne mogu dobiti procesom kodiranja su nekanonski Uvod u organizaciju računara 63

Uvod u organizaciju računara Kohorta Isti broj se može predstaviti različitim reprezentacijama (m,e): 123*100 1230*10-1 12300*10-2 Uvod u organizaciju računara 64

Uvod u organizaciju računara Kohorta Skup svih reprezentacija jednog broja se naziva kohorta Brojnost kohorte zavisi od broja cifara u značajnom delu Postavlja se pitanje koji član kohorte treba da se izabere za kanonski To se definiše preferiranim eksponentom – najmanjim u okviru kohorte, što znači da se cifre pomeraju skroz ulevo Ovo neće biti najjednostavniji izbor iz perspektive čoveka Uvod u organizaciju računara 65

Uvod u organizaciju računara Zapis specijalnih vrednosti Ako su prvih 5 bitova kombinacije 11111, radi se o NaN-u. Ako je 6. bit 1, onda je u pitanju sNaN, a ako je 0, onda je u pitanju qNaN. U kanonskoj reprezentaciji ostatak kombinacije je 0. U slučaju 11110, radi se o beskonačnosti. U kanonskoj reprezentaciji ostali bitovi su 0. Ovi zahtevi komplikuju zapis preostalih kombinacija Uvod u organizaciju računara 66

Uvod u organizaciju računara DPD kodiranje za decimal32 1 bit za znak, kao u IEEE 754 iz 1985. 11 bitova za kombinaciju koja uključuje 8 bitova eksponenta sa uvećanjem 101 i jednu cifru značajnog dela 20 bitova za zapis ostatka značajnog dela od 6 cifara pomoću dva dekleta u DPD kodiranju Uvod u organizaciju računara 67

Uvod u organizaciju računara Zapis kombinacije Neka je eksponent e1e2e3e4e5e6e7e8 Ako je prva cifra mala i ima zapis abc, zapis kombinacije je e1e2 abc e3e4e5e6e7e8 Ako je prva velika sa poslednjim bitom b, zapis kombinacije je 11 e1e2 b e3e4e5e6e7e8 Uvod u organizaciju računara 68

Uvod u organizaciju računara BID kodiranje za decimal32 1 bit za znak, kao u IEEE 754 iz 1985. 11 bitova za kombinaciju koja uključuje 8 bitova eksponenta sa uvećanjem 101 i prve 3 ili 4 cifre zapisa značajnog dela u osnovi 2 20 bitova za zapis ostatka značajnog dela u osnovi 2 Uvod u organizaciju računara 69

Uvod u organizaciju računara Zapis kombinacije Neka je eksponent e1e2e3e4e5e6e7e8 Ako je prva cifra mala i ima zapis abc, zapis kombinacije je e1e2e3e4e5e6e7e8 abc Ako je prva velika sa poslednjim bitom b, zapis kombinacije je 11 e1e2e3e4e5e6e7e8 b Uvod u organizaciju računara 70

Uvod u organizaciju računara Raspon Izvesti raspon za DPD Izvesti raspon za BID Ima li razlike? Ako je vrednost preko maksimalne, nije kanonska i smatra se nulom Uvod u organizaciju računara 71

Uvod u organizaciju računara Implementacija Hardverska implementacija podrazumeva da su sve operacije hardverski podržane Softverska podrazumeva da se mogu implementirati pomoću ostalih instrukcija procesora u softveru Zašto je BID lakši za softversku implementaciju, a DPD za hardversku? Uvod u organizaciju računara 72

Uvod u organizaciju računara Tačno zaokružene operacije Mnoge transcedentalne funkcije (stepenovanje, exp, log, sin, cos, …) moraju biti tačno zaokružene Uvod u organizaciju računara 73

Uvod u organizaciju računara Zapis pomoću heksadekadne osnove Nema veze sa IEEE 754 standardima Koristi se na nekim IBM-ovim main frame računarima 1 bit znaka 7 bita za eksponent sa uvećanjem 64 24 bita u značajnom delu za 8 heksadekadnih cifara Značajni deo je normalizovan u obliku 0,d-1...d-8 Uvod u organizaciju računara 74

Uvod u organizaciju računara Zapis pomoću heksadekadne osnove Pokušaj zapisa većih brojeva od dozvoljenih rezultuje prekoračenjem, ali nema beskonačnosti Pokušaj zapisa manjih rezultuje potkoračenjem Naknadno su uvedeni i subnormalni brojevi, ali ne i NaN i beskonačno Uvod u organizaciju računara 75