35
IT270 IT INFRASTRUKTURA Letnji semestar 2014/2015 PROJEKAT Brojevi sa pokretnom tačkom i standard IEEE 754 Autor Vladimir Apostolov Student IS (Index 1559)

IEEE 754 and IEEE 854 - Vladimir Apostolov

Embed Size (px)

DESCRIPTION

Seminarski

Citation preview

Page 1: IEEE 754 and IEEE 854 - Vladimir Apostolov

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

Page 2: IEEE 754 and IEEE 854 - Vladimir Apostolov

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

Page 3: IEEE 754 and IEEE 854 - Vladimir Apostolov

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

Page 4: IEEE 754 and IEEE 854 - Vladimir Apostolov

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

Page 5: IEEE 754 and IEEE 854 - Vladimir Apostolov

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

Page 6: IEEE 754 and IEEE 854 - Vladimir Apostolov

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

Page 7: IEEE 754 and IEEE 854 - Vladimir Apostolov

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

Page 8: IEEE 754 and IEEE 854 - Vladimir Apostolov

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

Page 9: IEEE 754 and IEEE 854 - Vladimir Apostolov

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

Page 10: IEEE 754 and IEEE 854 - Vladimir Apostolov

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

Page 11: IEEE 754 and IEEE 854 - Vladimir Apostolov

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

Page 12: IEEE 754 and IEEE 854 - Vladimir Apostolov

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

Page 13: IEEE 754 and IEEE 854 - Vladimir Apostolov

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

Page 14: IEEE 754 and IEEE 854 - Vladimir Apostolov

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

Page 15: IEEE 754 and IEEE 854 - Vladimir Apostolov

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

Page 16: IEEE 754 and IEEE 854 - Vladimir Apostolov

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

Page 17: IEEE 754 and IEEE 854 - Vladimir Apostolov

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

Page 18: IEEE 754 and IEEE 854 - Vladimir Apostolov

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

Page 19: IEEE 754 and IEEE 854 - Vladimir Apostolov

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

Page 20: IEEE 754 and IEEE 854 - Vladimir Apostolov

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

Page 21: IEEE 754 and IEEE 854 - Vladimir Apostolov

Brojevi sa pokretnom tačkom i standard IEEE 754-IT270

Slika 12. Tablica BCD kodova

Strana 21

Page 22: IEEE 754 and IEEE 854 - Vladimir Apostolov

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

Page 23: IEEE 754 and IEEE 854 - Vladimir Apostolov

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

Page 24: IEEE 754 and IEEE 854 - Vladimir Apostolov

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

Page 25: IEEE 754 and IEEE 854 - Vladimir Apostolov

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