IEEE 754
Standard IEEE 754 propisuje načine zapisa i interpretaciju realnih brojeva u pokretnim zarezu na računarima. Danas je najšire korišćen standard integrisan u mnoge procesore (engl. CPU, Central processing unit) i jedinice za obradu brojeva u pokretnom zarezu (engl. FPU, Floating point unit). Standard definiše formate raznih veličina i specijalne vrednosti (poput beskonačnosti i nemogućeg broja). Takođe određuje i četiri moda zaokruživanja brojeva i pet izuzetaka (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.
Pun naziv satandarda je IEEE Standard for Binary Floating-Point Arithmetic, što znači IEEE-ov (od engl. Institute of Electrical and Electronics Engineers) standard za binarnu aritmetiku u pokretnom zarezu.
Formati[uredi | uredi izvor]
Sledeća tabela daje kratak pregled definisanih formata:
Format Veličina 1+r+p Frakcija p Frakcija pri normalizovanosti Eksponent r Vrednosti eksponenta pri normalizovanosti Uvećanje eksponenta B jednostruki 32 bita 23 bita 24 bita 8 bita 1 ≤ E ≤ 254 127 dvostruki 64 bita 52 bita 53 bita 11 bita 1 ≤ E ≤ 2046 1023 jednostruki prošireni > 42 bita > 30 bita > 31 bit > 10 bita ≥ 1023 dvostruki prošireni > 78 bita > 62 bita > 63 bita > 14 bita ≥ 16383 jednostruki prošireni, minimum 43 bita 31 bit 32 bita 11 bita 1 ≤ E ≤ 2046 1023 dvostruki prošireni, minimum 79 bita 63 bita 64 bita 15 bita 1 ≤ E ≤ 32766 16383 četvorostruki 128 bita 112 bita 113 bita 15 bita 1 ≤ E ≤ 32766 16383
Interpretacija[uredi | uredi izvor]
Interpretacija broja umnogome zavisi od vrednosti eksponenta, a sledeća tabela opisuje njen proces za sve gorenavedene modele:
Eksponent E Frakcija M Interpretacija Oznaka Opis E = 0 M = 0 (−1)S × 0 ±0 nula E = 0 M > 0 (−1)S × M / 2p × 21−B ±0,M × 21−B denormalizovaan broj 0 < E < 2r−1 (−1)S × (1+M / 2p) × 2E−B ±1,M × 2E−B normalizovan broj E = 2r−1 M = 0 (−1)S × ∞ ±∞ beskonačnost E = 2r−1 M > 0 NaN (NaNs ili NaNq) not a number nemoguć broj
Gde su:
- r - broj bitova eksponenta
- p - broj bitova frakcije
- S - brojevna vrednost bita znaka
- E - brojevna vrednost eksponenta
- M - brojevna vrednost frakcije
Literatura[uredi | uredi izvor]
- Goldberg, David (mart 1991). „What Every Computer Scientist Should Know About Floating-Point Arithmetic”. ACM Computing Surveys. 23 (1): 5—48. doi:10.1145/103162.103163. Arhivirano iz originala 09. 03. 2019. g. Pristupljeno 8. 3. 2019.
- Hecker, Chris (februar 1996). „Let's Get To The (Floating) Point” (PDF). Game Developer Magazine: 19—24. ISSN 1073-922X.
- Severance, Charles (mart 1998). „IEEE 754: An Interview with William Kahan” (PDF). IEEE Computer. 31 (3): 114—115. doi:10.1109/MC.1998.660194. Arhivirano iz originala (PDF) 28. 12. 2018. g. Pristupljeno 8. 3. 2019.
- Cowlishaw, Mike (jun 2003). Decimal Floating-Point: Algorism for Computers (PDF). Proceedings 16th IEEE Symposium on Computer Arithmetic. Los Alamitos, Calif.: IEEE Computer Society. str. 104—111. ISBN 978-0-7695-1894-7. Arhivirano iz originala (PDF) 14. 12. 2014. g. Pristupljeno 14. 11. 2014.. (Note: Algorism is not a misspelling of the title; see also algorism.)
- Monniaux, David (maj 2008). „The pitfalls of verifying floating-point computations”. ACM Transactions on Programming Languages and Systems. 30 (3): 1—41. ISSN 0164-0925. arXiv:cs/0701192 . doi:10.1145/1353445.1353446.: A compendium of non-intuitive behaviours of floating-point on popular architectures, with implications for program verification and testing.
- Muller, Jean-Michel; Brunie, Nicolas; de Dinechin, Florent; Jeannerod, Claude-Pierre; Joldes, Mioara; Lefèvre, Vincent; Melquiond, Guillaume; Revol, Nathalie; Torres, Serge (2018) [2010]. Handbook of Floating-Point Arithmetic (2 izd.). Birkhäuser. ISBN 978-3-319-76525-9. doi:10.1007/978-3-319-76526-6.
- Overton, Michael L. (2001). Napisano na Courant Institute of Mathematical Sciences, New York University, New York, USA. Numerical Computing with IEEE Floating Point Arithmetic (1 izd.). Philadelphia, USA: SIAM. ISBN 978-0-89871-482-1. doi:10.1137/1.9780898718072. 978-0-89871-571-2, 0-89871-571-7.
- Cleve Moler on Floating Point numbers
- Beebe, Nelson H. F. (22. 8. 2017). The Mathematical-Function Computation Handbook - Programming Using the MathCW Portable Software Library (1 izd.). Salt Lake City, UT, USA: Springer International Publishing AG. ISBN 978-3-319-64109-6. LCCN 2017947446. doi:10.1007/978-3-319-64110-2.