Upload
vladimir-apostolov
View
59
Download
5
Embed Size (px)
DESCRIPTION
Seminarski
Citation preview
IT270 IT INFRASTRUKTURA
Letnji semestar 2014/2015
PROJEKAT
Brojevi sa pokretnom tačkom i standard IEEE 754
AutorVladimir Apostolov
Student IS (Index 1559)
Niš, 2015
Brojevi sa pokretnom tačkom i standard IEEE 754-IT270
SADRŽAJABSTRAKT..................................................................................................................................................... 3
UVOD........................................................................................................................................................... 4
IEEE754- OPIS STANDARDA....................................................................................................................................5
1.RAČUNARSKA ARITMETIKA........................................................................................................................ 6
1.1 KLASIČNO PREDSTALVJANJE BROJEVA ILI POMOĆU APSOLUTNE VREDNOSTI...................................................................61.2 NEPOTPUNI KOMPLEMENT BROJA ILI JEDINIČNI KOMPLEMENT...................................................................................71.3 POTPUNI KOMPLEMENT BROJA ILI DVOJIČNI KOMPLEMENT........................................................................................8
2. REALNI BROJEVI U POKRETNOM ZAREZU...................................................................................................9
2.2 ZAPISIVANJE BROJEVA U POKRETNOM ZAREZU.....................................................................................................10
3. PROBLEMI KOJI SE JAVLJAJU PRI IZRAČUNAVANJIMA SA REALNIM BROJEVIMA.......................................13
4. FORMATI ZA RAZMENU PODATAKA......................................................................................................... 15
4.1 FORMATI ZA RAZMENU PODATAKA ZAPISANI U BINARNOJ OSNOVI............................................................................164.2 FORMATI ZA RAZMENU PODATAKA ZAPISANI U DEKADNOJ OSNOVI...........................................................................17
4.2.1 Šematski prikaz DPD kodiranja.........................................................................................................174.2.2 Šematski prikaz DPD dekodiranja.....................................................................................................184.2.3 Karakteristike DPD kodiranja...........................................................................................................184.2.4 Enkodiranje.......................................................................................................................................19
5.BCD KOD.................................................................................................................................................. 20
6. RAZLIKA IZMEĐU IEEE 754 I IEEE 854 STANDARDA...................................................................................22
7. ZAKLJUČAK.............................................................................................................................................. 24
LITERATURA................................................................................................................................................ 25
Strana 2
Brojevi sa pokretnom tačkom i standard IEEE 754-IT270
Abstrakt
Ovaj standard određuje međurazmenu kao i aritmetičke formate i metode za binarnu
i decimalnu floating-point aritmetiku u programskim okruženjima. Ovaj standard
specificira uslove izuzimanja i rukovanja. Implementacija floating-point sistema u
skladu sa ovim standardom može se u potpunosti realizovati softverski, hardverski ili
u bilo kojoj kombinaciji softvera i hardvera. Za operacije utvrđenim u normativnom
delu ovog standarda, numerički rezultati i izuzeci su jedinstveno određeni od strane
vrednosti ulaznih podataka, redosleda operacija i krajnjih formata, a sve pod
kontrolom korisnika.
Strana 3
Brojevi sa pokretnom tačkom i standard IEEE 754-IT270
Uvod
Standard IEEE 754 propisuje načine zapisa i interpretaciju realnih brojeva u
pokretnom zarezu na računarima. Danas je najšire korišćen standard i integrisan u
mnoge procesore CPU i jedinice za obradu brojeva u pokretnom zarezu FPU.
Standard definiše formate raznih veličina i specijalnih vrednosti. Takođe određuje i
četri moda zaokruživanja brojeva i pet izuzetaka tj. specijalnih slučajeva.
Motiv za razvoj standarda su bili brojni načini zapisa i interpretacije koji su se koristili
u prošlosti uzrokovavši neprenosivost softvera između dva računara čiji procesori ne
koriste isti standard. Softver prenet između dva ovakva računara obično je radio
parcijalno ili uopšte ne, a dobijeni rezultati su bilo praktično neupotrebljivi.
Standard je je dobio naziv IEEE 754, prema nazivu organizacije koja se najviše
angažovala na njegovom definisanju i usvajanju. Standard je kroz vreme doživeo
više revizija. Sa usvajanjem nove verzije standarda, kao sufiks je dodata godina
usvajanja, tako da se prva doneta verzija označava kao IEEE 754-1985, a
novousvojena verzija kao IEEE 754-2008. Oba IEEE 754 standarda propisuju
algoritme za operacije sabiranja, oduzimanja, množenja, deljenja i izračunavanja
kvadratnog korena, kao i način njihove implementacije.
Pun naziv satandarda je IEEE Standard for Binary Floating-Point Arithmetic, što
znači IEEE-ov standard za binarnu aritmetiku u pokretnom zarezu.
Strana 4
Brojevi sa pokretnom tačkom i standard IEEE 754-IT270
IEEE754- Opis standarda
IEEE 754 standard propisuje:
• β=2 i β=10 kao osnove koje se koristi za zapis brojeva u pokretnom zarezu.
• Osnovne formate za zapis podataka u binarnoj i dekadnoj osnovi
• Formate za razmenu podataka zapisanih u binarnoj i dekadnoj osnovi
• Proširene i proširive formate za zapis podataka
• Način izvođenja operacija sabiranja, oduzimanja, množenja, deljenja,
spojenog višestrukog sabiranja,dobijanja kvadratnog korena, ostatka pri deljenju,
izvođenja poređenja, itd.
• Način konverzije izmedju celobrojnih i vrednosti u pokretnom zarezu
• Način konverzije izmedju različitih formata brojeva u pokretnom zarezu
• Način konverzije izmedju formata brojeva u pokretnom zarezu i njihove
spoljašnje reprezentacije u obliku niskih karaktera
• Vrste izuzetaka koji se javljaju pri radu sa brojevima u pokretnom zarezu i
načine njihove obrade
Broj u pokretnom zarezu može biti predstavljen na sledeće načine:
1. Kao uređena trojka (znak, eksponent, značajan deo broja). U osnovi β broj u
pokretnom zarezu predstavljen na ovaj način ima vrednost :
(−1)znak x βeksponent x značajan deobroja
2. +∞ i -∞
3. qNaN (quiet NaN) i sNaN (signal NaN)
Strana 5
Brojevi sa pokretnom tačkom i standard IEEE 754-IT270
1.Računarska aritmetika
Osnovni problem kod predstavljanja znaka broja u računaru jeste uvođenje znaka "-".
S obzirom na to da se svi podaci u računaru predstavljaju u vidu brojeva, i to
binarnih, logično je da i znak treba predstaviti nekom cifrom.
U tom smislu mogu se razlikovati 3 načina za predstavljanje znaka broja:
Klasični: predznak pa apsolutna vrednost broja,
Pri čemu je ovde znak predstavljen nekom od cifara iz BS.
"Nepotpuni komplement" broja, i
Drugačiji naziv: "komplement najveće cifre".
Drugačiji naziv: "(N-1) komplement".
"Potpuni komplement" broja.
Drugačiji naziv: "Komplement osnove".
Drugačiji naziv: "N-ti komplement".
1.1 Klasično predstalvjanje brojeva ili pomoću apsolutne vrednosti
Kod ovakvog predstavljanja znaci se kodiraju sledećim ciframa:
+ se kodira sa cifrom 0 (najmanja cifra tog BS)
- se kod. sa cifrom (N-1) (najveća cifra tog BS)
(N je osnova BS)
Broj X, zapisan na ovaj način, izgledaće ovako: [ X ]ZA={X za x≥0
( N−1)⋅Nn+1+ X za x≤0
Strana 6
Brojevi sa pokretnom tačkom i standard IEEE 754-IT270
Osnovni nedostatak ovakvog zapisa broja je u tome što je u računaru, prilikom
matematičkih operacija, potrebno dodatno vreme da se isprocesira kod znaka i koristi
se jedino prilikom komunikacije računara sa spoljašnim svetom.
1.2 Nepotpuni komplement broja ili jedinični komplement
Nepotpuni komplement broja dobija se tako što se: svaka cifra tog broja oduzme od
najveće cifre tog brojnog sistema. Znak minus zamenjuje se najvećom cifrom BS.
Dekadni brojni sistem:
Uzmimo bilo koji broj za primer: X=-312,84
prva cifra 3 se zamenjuje sa 9-3=6 (jer 6 dopunjuje 3 do
9)
druga cifra 1 se zamenjuje sa 9-1=8 itd.
[X]NK=9687,15.
Binarni BS:
sve je isto, samo što je kod bin. BS najveća cifra 1:
X=-1001101,1001
[X]NK=10110010,0110
Strana 7
Brojevi sa pokretnom tačkom i standard IEEE 754-IT270
1.3 Potpuni komplement broja ili dvojični komplement
Potpuni komplement broja dobija se tako što se: odredi nepotpuni komplement tog
broja, a zatim se doda jedinica u poziciju najmanje težine.
[ X ]PK={X za X≥0Nn+2−|x| za X<0 *U slučaju slučaju potpunog komplementa predstava
nule je jednosmislena, odnosno jedinstvena!
Primer za PK:
Uzmimo, na primer, neki binarni broj: X=(-1011,01)
[X]NK=10100,10 (nepotpuni komplement)
+ 1 (dodata jedinica u poziciju najmanje težine)
--------------
[X]PK=10100,11 (broj X u potpunom komplementu)
Strana 8
Brojevi sa pokretnom tačkom i standard IEEE 754-IT270
2. Realni brojevi u pokretnom zarezu
Realni brojevi se zapisuju u fiksnom zarezu kada pripadaju intervalu oblika [−d,d] gde
je d neka vrednost. Ovaj način zapisa nije pogodan za jako velike ili jako male realne
brojeve, kao ni za realne brojeve sa velikim brojem cifara u razlomljenom delu. U
takvim slučajevima se koristi drugačija reprezentacija realnih brojeva.
Realni brojevi u pokretnom zarezu se predstavljaju pomoću osnove β (koja je uvek
parna) i preciznosti p. Za predstavljanje realnih brojeva u savremenim raˇcunarima
se koriste vrednosti β=2, β=10 ili β=16. U sva tribslučaja eksponent se kodira u
binarnom brojčanom sistemu dok se vrednost za β ne čuva eksplicitno jer je ista za
sve brojeve koji se zapisuju. Ako se za zapis brojeva koriste registri veliˇcine 32 bita,
tada se kaže da je broj
zapisan sa jednostrukom preciznošću, ako se koriste dva registra (64 bita) tada je
broj zapisan sa dvostrukom preciznošću, a ako se koriste četiri registra (128 bita)
tada je broj zapisan sa četvorostrukom preciznošću.
Strana 9
Brojevi sa pokretnom tačkom i standard IEEE 754-IT270
2.2 Zapisivanje brojeva u pokretnom zarezu
Zapisivanje brojeva u pokretnom zarezu kroz istoriju se može videti na sledećoj slici:
Slika 1. Zapisivanje brojeva u pokretnom zarezu kroz istoriju
Zapisivanje brojeva u pokretnom zarezu:
• Ovo je nauniverzalniji način predstavljanja brojeva.
• Broj se predstavlja u eksponencijalnom obliku:
R=m*be
R – vrednost broja
m – mantisa
b – osnova brojnog sistema
e – eksponent
Slika 2.Predstavljanje brojeva u 32bitnom registru(jednostruka tačnost)
Strana 10
Brojevi sa pokretnom tačkom i standard IEEE 754-IT270
Stari oblik mantise:
m=0,1bbbbbbb
b {0,1}
• (ovo znači da se podrazumeva nula, i jedinica, a ono što piše u samom zapisu
broja, u memorijskoj lokaciji, to su ostale cifre, obeležene sa bbbbb).
Novi (normalizovani) oblik mantise:
m=1,bbbbbb
b {0,1}
• Kod ovog oblika mantise, podrazumeva se jedinica, a ono što je iza zareza –
to je ono što zapravo stoji u memorijskoj lokaciji.
• Predstavljanje bilo kog broja u pokretnom zarezu ide na sledeći način:
• Mantisa je uvek razlomljena!
• Ako nam treba ceo broj, onda to "štimujemo" eksponentom.
Primer: broj 10 (binarno).
Mantisa će biti (normalizovani oblik): 1,0
Pošto se kod normalizovanog oblika mantise podrazumeva jedinica ispred
decimalnog zareza, to će zapravo u zapisu broja, u delu za mantisu, biti samo nule
Sve ove cifre su binarne. Eksponent će biti: 1 (binarno, mada je to isto i dek.)
samim tim, konačna vrednost broja je: 1,0·101=10. Sve cifre su binarne.
Strana 11
Brojevi sa pokretnom tačkom i standard IEEE 754-IT270
Pokretni zarez – dvostruka tačnost
• Razlika je jedino u tome što se ovde odvaja više binarnih pozicija za mantisu,
te se samim tim neka vrednost može predstaviti sa većom preciznošću,
odnosno tačnošću.
• Umesto jedne lokacije, koriste se dve (ukupno 64 bita). Recimo to bi moglo
izgledati ovako (zamišljen primer):
Slika 3. Predstavljanje brojeva sa dvostrukom tačnošću (64bita)
Strana 12
Brojevi sa pokretnom tačkom i standard IEEE 754-IT270
3. Problemi koji se javljaju pri izračunavanjima sa realnim brojevima
1. Zaokruživanje i greška zaokruživanja
Beskonačno mnogo realnih brojeva može da se zapiše konačnim brojem kombinacija
bitova u registru jedino pomoću njihovih približnih reprezentacija zapisanih u unapred
fiksiranom broju bitova. Sa druge strane, bez obzira na broj bitova koji je odredjen za
zapis realnih brojeva, rezultati aritmetičkih operacija se ne mogu uvek tačno zapisati
u tako izabranom broju bitova.
Zbog toga je potrebno njihovo zaokruživanje do dužine koja je pogodna za zapis.
Greška koja se pri tome javlja se meri na dva načina: pomoću ulp-a i pomoću
relativne greške.
Drugi način merenja razlike izmedju realnog broja i njegove reprezentacije je
relativna greška. Relativna greška je apsolutna vrednost razlike izmedju realnog
broja i njegove reprezentacije podeljena sa apsolutnom vrednošću realnog broja.
I ulp i relativna greška zavise od tzv. mašinske tačnosti (mašinskog ɛ): ɛ=(b/2)b¡p.
Relativna greška se uvek zapisuje kao faktor od ɛ.
Ulp i relativna greška se koriste u različite svrhe: ulp za odredjivanje greške
zaokruživanja brojeva, a relativna greška za analiziranje grešaka izračunavanja
prema različitim formulama
Strana 13
Brojevi sa pokretnom tačkom i standard IEEE 754-IT270
2. Cifre čuvari
Jedan od metoda za računanje razlike izmedju dva realna broja je izračunavanje
tačne vrednosti razlike i zatim njeno zaokruživanje na najbliži broj u pokretnom
zarezu. Ova operacija može da bude vrlo skupa (u smislu neophodnih računarskih
resursa) kod brojeva koji se razlikuju za nekoliko redova veličine jer ih je potrebno
dovesti na isti eskponent. Zbog toga i zbog ograničenja broja bitova koji se koriste za
zapis, izračunavanje tačnih vrednosti razlike nije moguće, tj. dobijeni rezultati mogu
da budu nekorektni.
Cifre čuvari su se pokazale toliko značajne u izračunavanju da ih je IBM 1968.
godine uključio pri izračunavanju dvostruke tačnosti računara serije S/360 (već su
prethodno bili uključeni pri izračunavanju jednostruke tačnosti) i modifikovao sve
prethodno objavljene modele. Nisu svi računari imali uključene cifre čuvare pri
izvodjenju aritmetičkih operacija. Najpoznatiji primer je računar CRAY I. Zbog toga na
njemu mogu da se u graničnim slučajevima (npr. kada se operacije vrše sa
vrednostima koje su blizu najveće vrednosti koja može da se zapiše) dobiju
neočekivani (i pogrešni) rezultati. Pokazuje se da je u nekim slučajevima za dobijanje
korektnog rezultata potrebno čuvati više od jednog cifarskog mesta.
3. Tačno zaokružene operacije
Kada se operacije brojeva u pokretnom zarezu izvode korišćenjem cifara čuvara
dobijeni rezultati nisu tako precizni kao kada se izračunaju tačne vrednosti i zatim
rezultat zaokruži na najbliži broj u pokretnom zarezu. Operacije koje se izvode na
ovakav način se nazivaju tačno zaokružene.
Strana 14
Brojevi sa pokretnom tačkom i standard IEEE 754-IT270
4. Formati za razmenu podataka
Standard definiše pet osnovnih formata koji su imenovani po njihovoj numeričkoj
osnovi i po btoju bitova koji se koriste u njihovom univerzalnom enkodiranju. Postoje
tri osnovna binarna formata u pokretnom zarezu (enkodovana sa 32, 64 ili 128 bita) i
dva osnovna decimalna formata u pokretnom zarezu (enkodovana sa 64 ili 128 bita).
Binary32 i binary64 formati su jednostruki i dvostruki formati IEEE 754-1985.
Zadovoljavajuća implementacija mora kompletno koristiti makar jedan od osnovnih
formata.Ovaj standard takođe definiše promenljive formate koji služe u cliju
generelizacije osnovnih formata. Za binarne standarde konvencija početnog bita je
neophodna.
Sledeća tabela pokazuje najmanje univerzalne formate:
Slika 4. Najmanji univerzalni formati
Minimalni exponent u tabeli se odnosi na normalne brojeve. Korišćenje subnormalnih
brojeva dozvoljava predstavljanje još manjih brojeva (uz male gubitke preciznosti).
Strana 15
Brojevi sa pokretnom tačkom i standard IEEE 754-IT270
4.1 Formati za razmenu podataka zapisani u binarnoj osnovi
U formatu za razmenu podataka zapisanih pomoću binarne osnove se svaki broj u
pokretnom zarezu zapisuje na tačno jedan način.
Realan broj u pokretnom zarezu se u formatu za razmenu podataka pomoću binarne
osnove zapisuje pomoću k bitova podeljenih u tri polja sa sledećim značenjem:
Slika 5. Format za razmenu podataka zapisan u binarnoj osnovi
Standard definiše formate za razmenu podataka zapisanih pomoću binarne osnove
veličine 16, 32, 64 i 128 bita. Formati binary32 i binary64 odgovaraju zapisu u
jednostrukoj i dvostrukoj tačnosti prema standardu IEEE 754-1985. U opštem
slučaju, veličina formata može da bude bilo koji broj veći od 128 koji je množilac
manji od 32.
Slika 6. Vrednosti parametara formata za razmenu podataka sa binarnom osnovom
Strana 16
Brojevi sa pokretnom tačkom i standard IEEE 754-IT270
4.2 Formati za razmenu podataka zapisani u dekadnoj osnovi
Za kodiranju pojedinačne dekadne cifre pomoću 8421 BCD koda (ili nekog od
kodova navedenih u prethodnoj tabeli) koriste se 4 bita. Dekadnih cifara ima 10, a sa
druge strane broj mogućih kodova je 16. Očigledno je da pri kodiranju dekadnih
brojeva nekim od navedenih kodova veliki deo prostora ostaje neiskorišćen.
Slika 7. Vrednosti parametara formata za razmenu podataka sa dekadnom osnovom
4.2.1 Šematski prikaz DPD kodiranja
U sledećoj tabeli je prikazan način izračunavanja bitova rezultata pri kodiranju. Polazi
se od toga da su cifre koje se kodiraju, npr. C1C2C3, zapisane u BCD kodu i da im
odgovara 12-bitna kombinacija. Kodiranjem se dobija 10-bitna kombinacija. Vrednost
svakog od bitova se može predstaviti kao logička funkcija čiji su argumenti vrednosti
bitova u BCD kodiranju. Funkcije na osnovu kojih se izračunavaju vrednosti su
prikazane u narednoj tabeli:
Slika 8. Šematski prikaz kodiranja
Strana 17
Brojevi sa pokretnom tačkom i standard IEEE 754-IT270
4.2.2 Šematski prikaz DPD dekodiranja
Dekodiranje predstavlja izračunavanje vrednosti bitova 12-bitne kombinacije bitova
koje predstavljaju BCD zapis cifara C1C2C3 u BCD zapisu na osnovu vrednosti 10-
bitne kombinacije bitova. Funkcije na osnovu kojih se izračunavaju vrednosti su
prikazane u narednoj tabeli:
Slika 9. Šematski prikaz dekodiranja
Ovde tačka (’.’) označava da je sadržaj na toj poziciji nebitan.
4.2.3 Karakteristike DPD kodiranja
Neke od karakteristika DPD kodiranja su:
1. Kodiranje jedne ili dve dekadne cifre se dobija kao podskup kodiranja 3-
cifrenog dekadnog broja.
2. Kodiranje jedne ili dve dekadne cifre je uvek desno poravnato u grupi od 10
bita, dok su ostali bitovi 0.
3. Pozicija i izbor indikator bita (bit v u DPD kodiranju) dopuštaju da se svi
jednocifreni brojevi (preciznije svi brojevi u intervalu [0,79] kodiraju desno poravnato
na isti način kao u BCD (8421) kodu, što olakšava konverziju takvih brojeva.
Strana 18
Brojevi sa pokretnom tačkom i standard IEEE 754-IT270
U narednoj tabeli je dat primer kodiranja nekih brojeva:
Slika 10. Šematski prikaz DPD kodiranja
4.2.4 Enkodiranje
Zbog nepostojanja saglasnosti u komitetu za standarde, u standardu su predvidjene
dve mogućnosti za zapis nazvane dekadno i binarno enkodiranje. Dekadno
enkodiranje omogućava jednostavniju hardversku, dok binarno omogućava
jednostavniju softversku implementaciju. Bez obzira na izbor kodiranja, skup realnih
brojeva koji može da se zapiše je isti u oba kodiranja je isti, tako da krajnji korisnik ne
mora da vodi računa o tome koje se kodiranje koristi.
Realan broj u pokretnom zarezu se u formatu za razmenu podataka zapisanom
pomoću dekadne osnove zapisuje pomoću k bitova podeljenih u tri polja.
Slika 11. Format za razmenu podataka pomoću dekadne osnove
Strana 19
Brojevi sa pokretnom tačkom i standard IEEE 754-IT270
5.BCD kod
Poseban slučaj binarnog koda je BCD kod. BCD znači Binary Coded Decimal.
Ovo su posebni kodovi za predstavljanje cifara iz dekadnog brojnog sistema.
Postoji nekoliko varijanti BCD kôda
1. 8421 (tzv. "prirodni" BCD kôd),
2. 2421 (tzv. "Ajken" BCD kôd),
3. 5421,
4. BCD kôd "višak 3" itd.
Kod kodova koji su imaju brojeve u nazivu, radi se o težinama koje se pripisuju
binarnim ciframa. Kod kôda 8421 težine su iste kao kod binarnog BS, pa se zato on
naziva "prirodnim".
Nekoliko najpoznatihih BCD kodova dato je u priloženoj BCD kodnoj tablici.
Za BCD kod se kaže da je komplementaran (ili da ispunjava uslov
komplementarnosti) ukoliko važi sledeće:
Drugačije rečeno: ako je kod broja 0 recimo 0000, onda je kôd broja 9 – 1111. Zbir
0+9 je 9, a svaka cifra u kôdu prvog broja je komplement odgovarajuće cifre u kodu
drugog broja. Tipičan takav kod je Ajken.
Isto važi i za brojeve 1 i 8. Njihov zbir je 9, i za njih su Ajken kôdovi: 0001 i 1110,
respektivno. Ovde se još bolje vidi da su sve cifre u kodovima komplementarne.
2 i 7: 0010 i 1101... itd.
Strana 20
43214321 xxxxxxxx
9
Brojevi sa pokretnom tačkom i standard IEEE 754-IT270
Slika 12. Tablica BCD kodova
Strana 21
Brojevi sa pokretnom tačkom i standard IEEE 754-IT270
6. Razlika između IEEE 754 i IEEE 854 standarda
IEEE standard 854-1987, je standard sa nezavisnom osnovom „floating-point“
aritmetike bio je prvi IEEE standard za aritmetiku sa pokretnim zaretom sa osnovom
2 ili sa osnovom 10.
Standard je objavljen 1987, gotovo odmah je zamenio IEEE 754-1985 standard.ali
nikad prekunit ( zbog revizije 2008 i daljeg korišćenja i posle 1985.) IEEE 854 nije
precizirao nikakve formate dok IEEE 754 jeste to uradio. IEEE 754 precizira
aritmetiku u pokretnom zarezu za osnove 2 ( binarno ) i osnovu 10 ( dekadno-
decimalno), uključujući specijalizovana 2 alternativna formata za osnove 10 u
pokretnom zarezu . IEEE 754-1985 je jedino zamenjen 2008 godine standardom
IEEE754-2008 koji takođe ima dosta ažuriranja ( dodataka ) samoj IEEE floating-
point standardizaciji.
Tehnički, jedina razlika izmedju 754 i 854 standarda je u načinu rada sa masivnim
underflow i overflow-om
IEEE 854 standard predstavlja standard sa nezavisnom osnovom, za razliku od 754
standarda. IEEE aritmetmetika koristi format sa višim pomakom (npr. Eksponent 1 sa
osnovom 8192 će biti |izražen kao 8193).
Osim toga, pomaci u 754 standardu su +127 za jednostruku i +1023 za dvostruku
tačnost. Kada rezultat pređe okvir eksponente, koristi se veći pomak sa specijalnim
kodom koji predstavlja“denormalnizovan” rezultat.
Strana 22
Brojevi sa pokretnom tačkom i standard IEEE 754-IT270
Denormalizovani brojevi su oni brojevi koji su manji (u magnitudi) od onih koji mogu
biti normalno prikazani od stane standardnog eksponenta sa pomakom. Njiihova
reprezentacija je eksponent 0 sa razlomkom koji nije 0. Ovo omogućava postepeni
“overflow” u odnosu na nagli “overflow” koji bi bio neminovan bez njega, bez ikakvog
gubitka preciznosti.
Ukoliko rezultat ispadne veći od brojnog okvira predstavljenog denormalizovanim
brojevima, desiće se masivni “overflow” ili “underflow”, ovo stanje se u 754 standardu
prikazuje kao “quiet(tihi)” NaN.
Standard defineše da „non-trapped“ overflow vraća ili vrednost beskonačnih znakova
tačnosti ili najpozitivniji ili najnegativniji broj formata, u zavisnosti od zaukriživanja
koje se koristi, dok „underflow“ u ovoj situaciji vraća ili 0, ili najmanji negativni ili
pozitivni broj formata.
U okviru svog naslednika, IEEE 854 standard, ima opciju vraćanja „quiet“ NaN, +/-
beskonačnost ili nula. 754 mašine vraćaju denormalizovane brojeve za „underflow“,
ne QNaN, takođe masivni „overflow“ prinosi +/- koji takođe ne prenosi QNaN.
Strana 23
Brojevi sa pokretnom tačkom i standard IEEE 754-IT270
7. Zaključak
Termin "označeni broj" odnosi se na brojeve kod kojih postoji informacija o
predznaku, odnosno eventualnoj negativnoj vrednosti.
U svakodnevnom životu, u dekadnom BS, brojevi se pišu u formatu +(-) |5|
Ovakav način zapisivanja znaka svojstven je čoveku, ali nepraktičan za računarsku
primenu.
IEEE 754 standard za floating-point aritmetiku navodi formate i samo ponašanje
operacija koje se obavljaju isto tako omogućava zaokruživanje grešaka i omogućava
ih da ih pratimo u toku proračuna . Isto tako omogućava nam da sve izračunamo sa
veoma velikom preciznošću ( posebno 64 bitni registar koji se trenutno najviše
koristi).
Najvažnija karakteristika jeste što je moguće utvrditi dokaze o kvalitetu samih
rezultata ali nažalost ova operacija je jako zamorna i sklona je greškama tu spade
mogućnost “prelivanja”, promena binade itd.
Strana 24
Brojevi sa pokretnom tačkom i standard IEEE 754-IT270
Literatura
[1] IEEE Standard for Binary Floating-Point Arithmetic. ANSI/IEEE Std. 754-1985, reprint iz ACM SIGPLAN Notices, Vol. 22, No. 2, 1987.
[2] IEEE-2008 Standard for Floating-Point Arithmetic. ANSI/IEEE Std. 754-2008, IIIE, New York, 29 august 2008
[3] IEEE Standard for Binary Floating-Point Arithmetic, Standards Committeeof the IEEE Computer Society, May 21, 1991
[4]http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=30711&filter%3DAND%28p_Publication_Number%3A2355%29
[5] http://www.bt.pa.msu.edu/TM11/talks/revol1.pdf
[6] http://poincare.matf.bg.ac.rs/
[7] https://cs.elfak.ni.ac.rs
[8] https://en.wikipedia.org/wiki/IEEE_floating_point
[9] http://speleotrove.com/decimal/IEEE-cowlishaw-arith16.pdf
[10] http://chrishecker.com/images/f/fb/Gdmfp.pdf
[11] http://www.dms.rs/
Strana 25