Ujukomatehted |
Lühike ülevaade ujukomaarvude (ujupunktarvude) esitusviisidest ja põhitehetest. Lisaks on toodud lingid täiendavale infomaterjalile.
Ujukomaarv (ujupunktarv) - M*BE, kus M - mantiss (tüvi, significand, mantissa), E - eksponent (astendaja, exponent), B - baas (alus, base). Tavakäsitluses on baasiks 10 ja nii mantiss kui ka eksponent on 10-ndarvud - mantiss reaalarv ja exponent täisarv. Mõnikord on kasutusel ka märk (sign) S. Siin on mantiss positiivne ja ujukomaarv on esitatud kui (-1)S*M*BE.
Arvutites ja digitaalsüsteemides on reeglina kasutusel kahendsüsteem - B=2 ning M ja E on kahendarvud, S üksik bitt. Konkreetne mantissi ja eksponendi bittide arv sõltub formaadist (vt. nt. IEEE-754 standardit). Samuti on mantiss reeglina murdarv ja kindlas vahemikus (normeeritud).
Lihtsuse huvides on näidetes kasutusel formaat, kus eksponent on 4 bitti ja mantiss 8 bitti (või 7 bitti pluss märk). Mantiss on normeerituna 0,5≤|M|<1.
Märgiga mantiss (täiendkood, eraldi märk puudub):
10-arv | M10*10E10 | 2-arv | M2*2E2 | M2 | E2 | [M10*2E10] | [10-arv] |
2,5 | 0,25*101 | 10.1 | 0.101*210 | 0.1010000 | 0010 | 0,625*22 | 2,5 |
1,1 | 0,11*101 | 1.0(0011) | 0.10(0011)*21 | 0.1000110 | 0001 | 0,546875*21 | 1,09375 |
-2,2 | -0,22*101 | -10.(0011) | -0.10(0011)*210 | 1.0111010 | 0010 | -0,546875*22 | 2,1875 |
-0,056 | -0,56*10-1 | -0.0000111001010110... | -0.111001010110...*2-100 | 1.0001110 | 1100 | -0,890625*2-4 | -0,0556640625 |
Positiivne mantiss, märk eraldi:
10-arv | M10*10E10 | 2-arv | M2*2E2 | S | M2 | E2 | [M10*2E10] | [10-arv] |
2,5 | 0,25*101 | 10.1 | 0.101*210 | 0 | .1010000 | 0010 | 0,625*22 | 2,5 |
1,1 | 0,11*101 | 1.0(0011) | 0.10(0011)*21 | 0 | .1000110 | 0001 | 0,546875*21 | 1,09375 |
-2,2 | -0,22*101 | -10.(0011) | -0.10(0011)*210 | 1 | .1000110 | 0010 | -0,546875*22 | 2,1875 |
-0,056 | -0,56*10-1 | -0.0000111001010110... | -0.111001010110...*2-100 | 1 | .1110010 | 1100 | -0,890625*2-4 | -0,0556640625 |
Näidetes on edaspidi kasutusel formaadid "mmmm...m|ee..e" (märgiga mantiss ja eksponent) ja "s|mmm...m|ee..e" (märk, mantiss ja eksponent). Erinevates realisatsioonides (nt. IEEE-754) võivad väljad olla sõnas teistsuguses järjestuses.
Tasuks ka märkida, et normeeritud märgita mantissi puhul on vanim bitt alati '1'. Seda omadust kasutab ära IEEE-formaat, kus seda bitti ei salvestata ja sisuliselt on mantissis üks bitt lisaks. Samas on vaja lisakodeeringut eristamaks normeeritud ja normeerimata mantsisse. Allpool toodud märgita mantissi näidetes seda omadust ei kasuta ja normeerimata mantissi tunneb ära sellest, et vanim järk ei ole '1'.
Tehete realiseerimisel on aluseks esitusviis M*2E, mille puhul peab arvestama alljärgnevaga.
Liitmisel/lahutamisel on võib olla vajalik ühe mantissi denormeerimine (eksponentide võrdsustamiseks). Kõikide tehete puhul võib vaja minna tulemuse mantissi normeerimist koos eksponendi korrigeerimisega.
Järgnevates näidetes on operandid ja tulemused esitatud mantissi ja eksponendi abil - A = MA * 2EA, B = MB * 2EB ja R = MR * 2ER.
A+B või A-B arvutamisel mantisside liitmiseks (või lahutamiseks) peavad eksponendid olema võrdsed, et neid saaks sulgude ette tuua. Reeglina on operandidel erinevad eksponendid ja nende võrdustamiseks tuleb kasutada ühe operandi mantissi denormeerimist. Nt. 6,0 == 0,75*23 == 1,5*22 == 0,375*24. Mantissi üritatakse reeglina hoida <1, et ei oleks vaja täiendavaid bitte komast (punktist) vasakule. Seetõttu on otstarbekas jätta suurema eksponendiga operand muutmata ja korrigeerida väiksema eksponendiga operandi mantissi ja operandi. Tulemuse eksponent on siis sama, mis suurem eksponent, kuigi võib tekkida vajadus korrigeerida nii mantissi kui ka eksponenti, kui mantiss ei ole normeeritud. Seega saaks liitmisel toimuvad mantissi ja eksponendi teisendused kirja panna järgmiselt:
Lahutamisel toimub mantisside ja eksponentide korrigeerimine täpselt samamoodi. Nii liitmisel kui ka lahutamisel võib olla vajalik järgnev mantissi normeerimine ja eksponendi korrigeerimine. Suurim mantissi absoluutväärtus on väiksem 2,0-st ja sellepärast on vajalik lisabitt täisarvulisse ossa (või märgibiti laiendus). Väikseim mantissi absoluutväärtus võib olla 0, nt. võrdsete mantisside lahutamisel. Samuti on kasutusel lisabitid murdosas ümardamise tarbeks (antud näidetes lihtsuse huvides ainult üks lisabitt). Kui mantiss on märgiga päsikomaarv ja kasutusel on täiendkood, siis lahutamine toimub nii nagu täisarvudegagi.
Näited
1) 2,5 + 1,1 = 3,6
A (MA|EA) | B (MB|EB) | R (MR|ER) | Tegevus / kommentaarid | |||
0.1010000 | 0010 | 0.1000110 | 0001 | EA>EB --> MB>>1 & EB+1, pluss lisabitid | ||||
00.10100000 | 0010 | 00.01000110 | 0010 | 00.11100110 | 0010 | MA+MB, 0.5≤|MR|<1 --> OK, ka ümardada pole vaja | |||
0.1110011 | 0010 | 3,5937510 |
2) 2,5 - 2,2 = 0,3
A (MA|EA) | B (MB|EB) | R (MR|ER) | Tegevus / kommentaarid | |||
0.1010000 | 0010 | 0.1000110 | 0010 | EA=EB --> OK, pluss lisabitid | ||||
00.10100000 | 0010 | 00.10001100 | 0010 | 00.00010100 | 0010 | MA-MB, |MR|<0.5 --> MR<<3 & ER-3 | |||
0.1010000 | 1111 | 0,312510 |
3) 1,1 - 1,1 = 0,0 -- nulli esitamine?
A (MA|EA) | B (MB|EB) | R (MR|ER) | Tegevus / kommentaarid | |||
0.1000110 | 0001 | 0.1000110 | 0001 | EA=EB --> OK, pluss lisabitid | ||||
00.10001100 | 0001 | 00.10001100 | 0001 | 00.00000000 | 0001 | MA-MB, (|MR|<0.5) |MR|=0 --> erijuht, sest MR nihutamine viib alatäitumisele! | |||
0.00000000 | 0000 | 0,010 - eri formaadid võivad erinevalt käsitleda |
4) 1,1 + 0,56 = 1,66 -- ümardamine?
A (MA|EA) | B (MB|EB) | R (MR|ER) | Tegevus / kommentaarid | |||
0.1000110 | 0001 | 0.1000111 | 0000 | EA>EB --> MB>>1 & EB+1, pluss lisabitid | ||||
00.10001100 | 0001 | 00.01000111 | 0001 | 00.11010011 | 0001 | MA+MB, 0.5≤|MR|<1 --> OK, kuid ümardamine kasulik | |||
0.1101001 | 0001 | 1,64062510 - noorim järk lõigatud | |||||
0.1101010 | 0001 | 1,6562510 - ümardatud (üles) |
5) -2,2 - 2,5 = -4,7 -- negatiivse tulemuse ümardamine?
A (MA|EA) | B (MB|EB) | R (MR|ER) | Tegevus / kommentaarid | |||
1.0111010 | 0010 | 0.1010000 | 0010 | EA=EB --> OK, pluss lisabitid | ||||
11.01110100 | 0010 | 00.10100000 | 0010 | 10.11010110 | 0010 | MA-MB, |MR|≥1 --> MR>>1 & ER+1 | |||
1.0110110 | 0011 | -4,62510 - täiendkood ümardatud (üles) == |MR| noorim järk lõigatud | |||||
1.0110101 | 0011 | -4,687510 - täiendkoodi noorim järk lõigatud == |MR| ümardatud (üles) |
Korrutamisel mantissid korrutatakse ja eksponendid liidetakse - A*B == MA*2EA * MB*2EB == (MA*MB)* (2EA*2EB) == (MA*MB)*2EA+EB. Vajadusel võib järgneda mantissi nihutamine vasakule ühe biti võrra (normeerimine) ja eksponendi dekrementeerimine, sest mantisside korrutise absoluutväärtus jääb 0,25 ja 1,0 vahele - 0,25≤|MR|<1.
Järgnevates näidetes on eeldatud, et kasutusel on mantissi korrutamiseks 8x8-bitine püsikomaarvude korrutaja (märk ja 7 järku pärast koma), mille tõttu tuleb tulemusest 7 noorimat järku "ära hammustada" ja/või ümardada.
Näited
1) 2,5 * 1,1 = 2,75
A (MA|EA) | B (MB|EB) | R (MR|ER) | Tegevus / kommentaarid | |||
0.1010000 | 0010 | 0.1000110 | 0001 | 00.01010111100000 | 0011 | |MR|<0.5 --> MR<<1 & ER-1 | |||
0.1010111 | 0010 | 2,7187510 - lõigatud | |||||
0.1011000 | 0010 | 2,7510 - ümardatud |
2) 1,1 * (-2,2) = -2,42
A (MA|EA) | B (MB|EB) | R (MR|ER) | Tegevus / kommentaarid | |||
0.1000110 | 0001 | 1.0111010 | 0010 | 11.10110011011100 | 0011 | |MR|<0.5 --> MR<<1 & ER-1 | |||
1.0110011 | 0010 | -2,4062510 - lõigatud | |||||
1.0110010 | 0010 | -2,437510 - ümardatud |
3) (-2,2) * (-0,056) = 0,1232
A (MA|EA) | B (MB|EB) | R (MR|ER) | Tegevus / kommentaarid | |||
1.0111010 | 0010 | 1.0001110 | 1100 | 00.01111100101100 | 1110 | |MR|<0.5 --> MR<<1 & ER-1 | |||
0.1111100 | 1101 | 0,1210937510 - lõigatud | |||||
0.1111101 | 1101 | 0,122070312510 - ümardatud |
4) 0,8 * 0,8 = 0,64
A (MA|EA) | B (MB|EB) | R (MR|ER) | Tegevus / kommentaarid | |||
0.1100110 | 0000 | 0.1100110 | 0000 | 00.10100010100011 | 0000 | 0.5≤|MR|<1 --> OK | |||
0.1010001 | 0000 | 0,632812510 - lõigatud==ümardatud |
Jagamisel mantissid jagatakse ja eksponendid lahutatakse - A*B == MA*2EA / MB*2EB == (MA/MB)* (2EA/2EB) == (MA/MB)*2EA-EB. Vajadusel võib järgneda mantissi nihutamine paremale ühe biti võrra (normeerimine) ja eksponendi inkrementeerimine, sest mantisside jagatise absoluutväärtus jääb 0,5 ja 2,0 vahele - 0,5≤|MR|<2. Vajalik võib olla ka mantissi ümardamine.
Näited
1) 2,5 / 1,1 = 2,(27)
A (MA|EA) | B (MB|EB) | R (MR|ER) | Tegevus / kommentaarid | |||
0.1010000 | 0010 | 0.1000110 | 0001 | 01.0010010 | 0001 | |MR|≥1.0 --> MR>>1 & ER+1 | |||
0.1001001 | 0010 | 2,2812510 |
2) -2,2 / 1,1 = -2,0
A (MA|EA) | B (MB|EB) | R (MR|ER) | Tegevus / kommentaarid | |||
1.0111010 | 0010 | 0.1000110 | 0001 | 11.0000000 | 0001 | |MR|≥1.0 --> MR>>1 & ER+1 | |||
1.1000000 | 0010 | -2,010 |
3) -0,056 / -2,2 = 0,025(45)
A (MA|EA) | B (MB|EB) | R (MR|ER) | Tegevus / kommentaarid | |||
1.0001110 | 1100 | 1.0111010 | 0010 | 01.1010000 | 1010 | |MR|≥1.0 --> MR>>1 & ER+1 | |||
0.1101000 | 1011 | 0,02539062510 |
4) 0,6 / 0,8 = 0,75
A (MA|EA) | B (MB|EB) | R (MR|ER) | Tegevus / kommentaarid | |||
0.1001101 | 0000 | 0.1100110 | 0000 | 00.1100000 | 0000 | 0.5≤|MR|<1 --> OK | |||
0.1100000 | 0000 | 0,7510 |
Tehete realiseerimisel on aluseks esitusviis (-1)S*M*2E, mille puhul peab arvestama alljärgnevaga:
Liitmisel/lahutamisel on võib olla vajalik ühe mantissi denormeerimine (eksponentide võrdsustamiseks). Kõikide tehete puhul võib vaja minna tulemuse mantissi normeerimist koos eksponendi korrigeerimisega.
Eksponentide võrdsustamine ja mantisside korrigeerimine toimub täpselt samamoodi, kui märgiga mantisside korral. Mantisside endi liitmisel/lahutamisel on kaks võimalust:
A+B | B<0 | B≥0 | A-B | B<0 | B≥0 | |
A<0 | -(|A|+|B|) | |B|-|A| | A<0 | |B|-|A| | -(|A|+|B|) | |
A≥0 | |A|-|B| | |A|+|B| | A≥0 | |A|+|B| | |A|-|B| |
Mõlema variandi puhul võib mantiss osutuda pärast tehet negatiivseks, mille tõttu tuleb siis leida mantissi absoluutväärtus ja märki inverteerida.
Järgnevates näidetes on mõlemad variandid eristatud, kui arvutuskäik on erinev.
1) 2,5 + 1,1 = 3,6
A (SA|MA|EA) | B (SB|MB|EB) | R (SR|MR|ER) | Tegevus / kommentaarid [variandid 1 & 2] | |||
0|.1010000 | 0010 | 0|.1000110 | 0001 | A>0, B>0 --> A+B=|A|+|B| | ||||
0.1010000 | 0010 | 0.1000110 | 0001 | EA>EB --> MB>>1 & EB+1, pluss lisabitid | ||||
00.10100000 | 0010 | 00.01000110 | 0010 | 00.11100110 | 0010 | MA+MB, 0.5≤|MR|<1 --> OK, ka ümardada pole vaja | |||
0|.1110011 | 0010 | 3,5937510 |
2) 2,5 - 2,2 = 0,3
A (SA|MA|EA) | B (SB|MB|EB) | R (SR|MR|ER) | Tegevus / kommentaarid [variandid 1 & 2] | |||
0|.1010000 | 0010 | 0|.1000110 | 0010 | A>0, B≥0 --> A+B=|A|-|B| | ||||
0.1010000 | 0010 | 0.1000110 | 0010 | EA=EB --> OK, pluss lisabitid | ||||
00.10100000 | 0010 | 00.10001100 | 0010 | 00.00010100 | 0010 | MA-MB, |MR|<0.5 --> MR<<3 & ER-3 | |||
0|.1010000 | 1111 | 0,312510 |
3) -2,2 - 2,5 = -4,7
A (SA|MA|EA) | B (SB|MB|EB) | R (SR|MR|ER) | Tegevus / kommentaarid [variant 1] | |||
1|.1000110 | 0010 | 0|.1010000 | 0010 | MA=-MA; EA=EB --> OK, pluss lisabitid | ||||
11.01110100 | 0010 | 00.10100000 | 0010 | 10.11010100 | 0010 | |MR|≥1.0 --> MR>>1 & ER+1 | |||
1|.1001011 | 0011 | -4,687510 | |||||
A (SA|MA|EA) | B (SB|MB|EB) | R (SR|MR|ER) | Tegevus / kommentaarid [variant 2] | |||
1|.1000110 | 0010 | 0|.1010000 | 0010 | A<0, B≥0 --> A-B=-(|A|+|B|) [NB! SR=1] | ||||
0|.1000110 | 0010 | 0|.1010000 | 0010 | |A| + |B| | EA=EB --> OK, pluss lisabitid | |||
00.10001100 | 0010 | 00.10100000 | 0010 | 01.00101100 | 0010 | |MR|≥1.0 --> MR>>1 & ER+1; MR>0 --> SR=1 | |||
1|.1001011 | 0011 | -4,687510 |
4) (-2,2) - (-2,5) = 0,3
A (SA|MA|EA) | B (SB|MB|EB) | R (SR|MR|ER) | Tegevus / kommentaarid [variant 1] | |||
1|.1000110 | 0010 | 1|.1010000 | 0010 | MA=-MA, MB=-MB; EA=EB --> OK, pluss lisabitid | ||||
11.01110100 | 0010 | 11.01100000 | 0010 | 00.00010100 | 0010 | |MR|<0.5 --> MR<<3 & ER-3; MR>0 --> SR=0 | |||
0|.1010000 | 1111 | 0,312510 | |||||
A (SA|MA|EA) | B (SB|MB|EB) | R (SR|MR|ER) | Tegevus / kommentaarid [variant 2] | |||
1|.1000110 | 0010 | 1|.1010000 | 0010 | A<0, B<0 --> A-B=|B|-|A|) | ||||
1|.1010000 | 0010 | 1|.1000110 | 0010 | |B| - |A| | EA=EB --> OK, pluss lisabitid | |||
00.10100000 | 0010 | 00.10001100 | 0010 | 00.00010100 | 0010 | |MR|<0.5 --> MR<<3 & ER-3 MR>0 --> SR=0 | |||
0|.1010000 | 1111 | 0,312510 |
5) -2,5 + 1,1 = -1,4
A (SA|MA|EA) | B (SB|MB|EB) | R (SR|MR|ER) | Tegevus / kommentaarid [variant 1] | |||
1|.1010000 | 0010 | 0|.1000110 | 0001 | MA=-MA; EA>EB --> MB>>1 & EB+1, pluss lisabitid | ||||
11.01100000 | 0010 | 00.01000110 | 0010 | 11.10100110 | 0010 | |MR|<0.5 --> MR<<1 & ER-1; MR<0 --> -MR, SR=1 | |||
1|.1011010 | 0001 | -1,4062510 | |||||
A (SA|MA|EA) | B (SB|MB|EB) | R (SR|MR|ER) | Tegevus / kommentaarid [variant 2] | |||
1|.1010000 | 0010 | 0|.1000110 | 0001 | A<0, B≥0 --> A+B=|B|-|A|) | ||||
0|.1000110 | 0001 | 0|.1010000 | 0010 | |B| - |A| | EA>EB --> MB>>1 & EB+1, pluss lisabitid | |||
00.01000110 | 0010 | 00.10100000 | 0010 | 11.10100110 | 0010 | |MR|<0.5 --> MR<<1 & ER-1 MR<0 --> -MR, SR=1 | |||
1|.1011010 | 0001 | -1,4062510 |
Korrutamine toimub praktiliselt samamoodi kui märgiga mantisside esitusviisi puhul - mantissid korrutatakse ja eksponendid liidetakse. Peamine erinevus seisneb selles, et mantissid on alati positiivsed ja vajalik võib olla normeerimine. Tulemuse märk leitakse operandide märkidest - võrdsete märkide korral on tulemus positiivne, vastasel juhul negatiivne.
Näited
1) 2,5 * 1,1 = 2,75
A (SA|MA|EA) | B (SB|MB|EB) | R (SR|MR|ER) | Tegevus / kommentaarid | |||
0|.1010000 | 0010 | 0|.1000110 | 0001 | A>0 & B>0 --> R>0; pluss lisabitid | ||||
0.1010000 | 0010 | 0.1000110 | 0001 | 00.01010111100000 | 0011 | |MR|<0.5 --> MR<<1 & ER-1 | |||
0|.1010111 | 0010 | 2,7187510 - lõigatud | |||||
0|.1011000 | 0010 | 2,7510 - ümardatud |
2) 1,1 * (-2,2) = -2,42
A (SA|MA|EA) | B (SB|MB|EB) | R (SR|MR|ER) | Tegevus / kommentaarid | |||
0|.1000110 | 0001 | 1|.1000110 | 0010 | A>0 & B<0 --> R<0; pluss lisabitid | ||||
0.1000110 | 0001 | 0.1000110 | 0010 | 00.01001100100100 | 0011 | |MR|<0.5 --> MR<<1 & ER-1 | |||
1|.1001100 | 0010 | -2,37510 - lõigatud | |||||
1|.1001101 | 0010 | -2,4062510 - ümardatud |
3) (-2,2) * (-0,056) = 0,1232
A (SA|MA|EA) | B (SB|MB|EB) | R (SR|MR|ER) | Tegevus / kommentaarid | |||
1|.1000110 | 0010 | 1|.1110010 | 1100 | A<0 & B<0 --> R>0; pluss lisabitid | ||||
0.1000110 | 0010 | 0.1110010 | 1100 | 00.01111100101100 | 1110 | |MR|<0.5 --> MR<<1 & ER-1 | |||
0|.1111100 | 1101 | 0,1210937510 - lõigatud | |||||
0|.1111101 | 1101 | 0,122070312510 - ümardatud |
4) 0,8 * 0,8 = 0,64
A (SA|MA|EA) | B (SB|MB|EB) | R (SR|MR|ER) | Tegevus / kommentaarid | |||
0|.1100110 | 0000 | 0|.1100110 | 0000 | A>0 & B>0 --> R>0; pluss lisabitid | ||||
0.1100110 | 0000 | 0.1100110 | 0000 | 00.10100010100011 | 0000 | 0.5≤|MR|<1 --> OK | |||
0|.1010001 | 0000 | 0,632812510 - lõigatud==ümardatud |
Ka jagamine toimub praktiliselt samamoodi kui märgiga mantisside esitusviisi puhul - mantissid jagatakse ja eksponendid lahutatakse. Peamine erinevus seisneb selles, et mantissid on alati positiivsed ja vajalik võib olla normeerimine. Tulemuse märk leitakse operandide märkidest - võrdsete märkide korral on tulemus positiivne, vastasel juhul negatiivne.
Näited
1) 2,5 / 1,1 = 2,(27)
A (SA|MA|EA) | B (SA|MB|EB) | R (SR|MR|ER) | Tegevus / kommentaarid | |||
0|.1010000 | 0010 | 0|.1000110 | 0001 | A>0 & B>0 --> R>0, pluss lisabitid | ||||
0.1010000 | 0010 | 0.1000110 | 0001 | 01.0010010 | 0001 | |MR|≥1.0 --> MR>>1 & ER+1 | |||
0|.1001001 | 0010 | 2,2812510 |
2) -2,2 / 1,1 = -2,0
A (SA|MA|EA) | B (SA|MB|EB) | R (SR|MR|ER) | Tegevus / kommentaarid | |||
1|.1000110 | 0010 | 0|.1000110 | 0001 | A<0 & B>0 --> R<0, pluss lisabitid | ||||
0.1000110 | 0010 | 0.1000110 | 0001 | 01.0000000 | 0001 | |MR|≥1.0 --> MR>>1 & ER+1 | |||
1|.1000000 | 0010 | -2,010 |
3) -0,056 / -2,2 = 0,025(45)
A (SA|MA|EA) | B (SA|MB|EB) | R (SR|MR|ER) | Tegevus / kommentaarid | |||
1|.1110010 | 1100 | 1|.1000110 | 0010 | A<0 & B<0 --> R>0, pluss lisabitid | ||||
0.1000110 | 1100 | 0.1000110 | 0010 | 01.1010000 | 1010 | |MR|≥1.0 --> MR>>1 & ER+1 | |||
0.1101000 | 1011 | 0,02539062510 |
4) 0,6 / 0,8 = 0,75
A (SA|MA|EA) | B (SA|MB|EB) | R (SR|MR|ER) | Tegevus / kommentaarid | |||
0|.1001101 | 0000 | 0|.1100110 | 0000 | A>0 & B>0 --> R>0, pluss lisabitid | ||||
0.1001101 | 0000 | 0.1100110 | 0000 | 00.1100000 | 0000 | 0.5≤|MR|<1 --> OK | |||
0|.1100000 | 0000 | 0,7510 |
IEEE-754 formaat on oma olemuselt sarnane positiivse (märgita) mantissiga esitusele, kuid lisaks on veel mõned erisused. Esiteks on normeeritud mantissis kirjas üks bitt vähem, sest vanim järk (täisosa) on alati 1 ja denormeeritud mantissi puhul alati 0. Mantiss (normeeritult) on seega vähemalt 1,0, kuid väiksem 2,0-st. Teiseks on baas kas 2 või 10 ja lisaks veel kõrvalekaldega (mitte täiendkoodis), mis annab võimaluse esitada erijuhte ("00...00" - denormeeritud mantiss, "11...11" - ületäitumised). Lisaks on veel ka mitmeid ümardamisvõimalusi.
Ka on sõnade pikkused satandardiseeritud, kuigi on lubatud ka erijuhud. Enim kasutatud on 32- ja 64-bitised esitused (vastavalt single-precsision ja double-precsision). Täpsem info vt. linkidelt allpool. Esitatud näited kasutavad 16-bitist formaati (half-precision), milles esimene bitt on märk, järgneb 5-bitine eksponent (baas 2 ja kõrvalekalle 15) ja 11-bitine mantiss (täisosa, st. 1. puudub!).
10-arv | 2-arv | M2*2E2 | S | E2+011112 | M2 | [M10*2E10] | [10-arv] |
2,5 | 10.1 | 1.0100000000*21 | 0 | 10000 | 0100000000 | 1,25*21 | 2,5 |
1,1 | 1.0(0011) | 1.0001100110*20 | 0 | 01111 | 0001100110 | 1,099609375*20 | 1,099609375 |
-2,2 | -10.(0011) | -1.0001100110*21 | 1 | 10000 | 0001100110 | 1,099609375*21 | -2,1992187500 |
-0,056 | -0.0000111001010110... | -1.1100101011*2-101 | 0 | 01010 | 1100101011 | -1,7919921875*2-5 | -0,055999755859375 |
1,0 | 1.0 | 1.0*20 | 0 | 01111 | 0000000000 | 1,0*20 | 1,0 |
+0,0 | 0.0 | 0 | 00000 | 0000000000 | +0,0 | ||
-0,0 | -0.0 | 1 | 00000 | 0000000000 | -0,0 | ||
+∞ | 0 | 11111 | 0000000000 | +∞ | |||
-∞ | 1 | 11111 | 0000000000 | -∞ |
NB! Toodud loetelu pole lõplik.
Viimati muudetud 2.12.2021