IEEE754
Iz E-študij, proste zakladnice študentskega znanja
Vsebina |
Uvod
IEEE standard podpira dva formata in sicer zapis z 32-biti in pa z 64-biti. Predstavitev z 32 biti se imenuje enojna natančnost, s 64 biti pa dvojna natančnost.
|
32-bitne
|
64-bitne
|
|||||||
|
Kjer:
|
Predznak
Predznak je definran kot (-1)S; število bo negativno, če je vrednost prvega bita 1, če pa je prvi bit 0, bo število pozitivno.
Eksponent
Eksponent je zapisan v predstavitvi z odmikom za 127 (27-1 oz. 210-1).
Primer:
- Imamo decimalno eksponent -1
- torej prištejemo 127 in dobimo 12610
- kar je 011111102; kar je že naš eksponent
Mantisa
Mantisa je predstavljena kot predznak in velikost. Mora biti tudi normalizirana z implicitno predstavitvijo normalnega bita. Decimalna vejica je desno od normalnega bita (levo od prvega bita mantise). Ker je mantisa normalizirana, se tako za predstavitev števila v plavajoči vejici dejansko uporablja 24 bitov (pri 32-bitnem računanju) oz. 53 bitov (pri 64-bitnem računanju).
Specialne predstavitve
| Enojna natančnost | Dvojna natančnost | Predstavlja | |||
| Eksponent | Mantisa | Eksponent | Mantisa | ||
| 0 | 0 | 0 | 0 | 0 | |
| 0 | ni nič | 0 | ni nič | Denormalizirano število | |
| 1 do 254 | karkoli | 1 do 2046 | karkoli | Normalizirano število | |
| 255 | 0 | 2047 | 0 | Neskončno | |
| 255 | ni nič | 2047 | ni nič | NaN (Not a Number / Neveljavna števila) | |
Primer pretvorbe iz decimalnega števila v IEEE754 z enojno natančnostjo
Primer 1
- Vzamemo število 3.75
- Predznak je + torej 0
- Število je sestavljno iz dveh delov, iz celega dela decimalnega dela. Tako vsak del posevebej pretvorimo v binarno število
- 3 → 11
- .75 → .11 (3/4=3/(2^2))
- Torej dobimo 11.11
- Število pretvorimo tako, da je pred decimalno piko samo ena 1; torej imamo 1.111 * 21
- Eksponent je torej 1, katermu moramo sedaj prišteti še 127
- Eksponent sedaj pretvorimo v binarko. V našem je to 10000000
- Naša mantisa je: 111
- Ko sestavimo skupaj
| 0 | 10000000 | 11100000000000000000000 |
Primer 2
- Imamo število -2345.125
- celi del: 100100101001
- decimalni del: 001
- 100100101001.001 kar pa ni normalizirano število, torej popravimo : 1.00100101001001 * 211
- Eksponent je 11 + 127 = 138 → 100010102
- Število:
| 1 | 10001010 | 00100101001001000000000 |
Zaokroževanje
Računanje
Seštevanje
Odštevanje
Množenje
Povezave
IEEE-754 Calculators, tile kalkulatorji vam bodo prišli v veliko pomoč pri razumevanju in računanju v plavajoči vejici