Liukuluku
Wikipedia
Liukuluku on tietokoneissa käytetty esitystapa reaaliluvuille. Liukulukuun kuuluu neljä osaa: etumerkki (s), mantissa (m), kantaluku (k) ja eksponentti (c). Etumerkki kertoo onko luku negatiivinen vai positiivinen. Mantissa kuvaa luvun merkitseviä numeroita. Kantaluku ja eksponentti määrittävät luvun suuruusluokan. Tällöin liukuluvun arvoksi x saadaan
Esitys ei kuitenkaan ole yksikäsitteinen lukunelikölle (s,m,k,c) ellei lukualueita rajata tarkasti. Yksikäsitteisyys voidaan saavuttaa sopimalla tietty kantaluku k, ja sen jälkeen vaatimalla, että ja . Tietokoneissa pätee yleensä k = 2, jolloin ja .
Sisällysluettelo |
[muokkaa] IEEE 754 -liukulukustandardi
IEEE 754 on yleisin tietokoneissa käytetty liukulukustandardi. Se olettaa kantaluvuksi k = 2. Etumerkki ilmoitetaan yhdellä bitillä. s = 0 tarkoittaa positiivista lukua, ja s = 1 tarkoittaa negatiivista. Mantissa ja eksponentti ovat etumerkittömiä bittijonoja. Standardi määrittelee neljä erilaista liukulukua:
- Perustarkkuus (m on 23 bittiä ja c on 8 bittiä)
- Kaksoistarkkuus (m on 52 bittiä ja c on 11 bittiä)
- Laajennettu perustarkkuus (m on 31 bittiä ja c on 11 bittiä)
- Laajennettu kaksoistarkkuus (m on 63 bittiä ja c on 15 bittiä)
[muokkaa] IEEE 754 normalisoidut luvut
Kun , luku on normalisoitu. Tällöin yksikäsitteisyys saavutetaan sopimalla ja . Tällöin liukuluvun arvoksi x saadaan
Lisäksi sovitaan, että mIEEE = 1.m ja cIEEE = c − b, missä b riippuu käytetystä tarkkuudesta. Perustarkkuudelle b = 127 ja kaksoistarkkuudella b = 1023.
Lukua nolla ei voi esittää suoraan johtuen mIEEE määritelmästä, koska ylin bitti säädetään kiinteästi ykköseksi. Standardin mukaan luku on nolla kun m = c = 0. Tämän seurauksena luvun nolla esitys tietokoneen muistissa on kaikki bitit nollina, mikä nopeuttaa liukulukumuuttujien alustamista eräissä tietokonejärjestelmissä.
[muokkaa] IEEE 754 ei-normalisoidut
Kun c = 0 ja , luku ei ole normalisoitu. Tällöin mIEEE = 0.m ja cIEEE = b, missä b riippuu käytetystä tarkkuudesta. Perustarkkuudelle b = − 126 ja kaksoistarkkuudella b = − 1022.
[muokkaa] IEEE 754 erikoisluvut
Standardi määrittelee esitystavat positiiviselle ja negatiiviselle äärettömyydelle (eksponentin kaikki bitit ykkösiä, mantissan bitit nollia ja etumerkkibitti määrittää onko kyseessä positiivinen vai negatiivinen äärettömyys), epänumeraaleille (eksponentin kaikki bitit ykkösiä ja mantissa eri suuri kuin nolla) ja negatiivisen nollan (kaikki muut bitit nollia paitsi etumerkkibitti ykkönen).
[muokkaa] IEEE 754 ominaisuuksia
- Kahta normalisoitua IEEE-754 lukua voi verrata suoraan käyttämällä kahden komplementin lukujen vertailijaa.
[muokkaa] IEEE 754 esimerkki
Luvun 1 esitys perustarkkuudella tarkoittaa lukua, jossa m = 0 ja c = 127, eli heksadesimaalijonona: 3f80 0000. Sama luku kaksoistarkkuudella saa esitysmuodon: 3ff0 0000 0000 0000. Luvun − 1 esitysmuoto perus- ja kaksoistarkkuudella on bf80 0000 ja bff0 0000 0000 0000.
[muokkaa] Katso myös
[muokkaa] Aiheesta muualla
- What Every Computer Scientist Should Know About Floating-Point Arithmetic (englanniksi)
- Tietoja IEEE 754 -standardista (englanniksi)