IEEE Standarts peldošā komata aritmētikai (IEEE 754) ir peldošā komata skaitļošanas tehniskais standarts, ko 1985. gadā izveidoja Elektrisko un elektronikas inženieru institūts (IEEE) . Standarts risināja daudzas problēmas, kas tika atklātas dažādās peldošā komata ieviešanā, kas apgrūtināja to uzticamu lietošanu un samazināja to pārnesamību. IEEE Standard 754 peldošais komats mūsdienās ir visizplatītākais reālo skaitļu attēlojums datoros, tostarp uz Intel balstītajos personālajos datoros, Mac datoros un lielākajā daļā Unix platformu.
Ir vairāki veidi, kā attēlot peldošā komata skaitli, bet IEEE 754 vairumā gadījumu ir visefektīvākais. IEEE 754 ir 3 pamatkomponenti:
- Mantisas zīme -
Tas ir tikpat vienkārši kā nosaukums. 0 apzīmē pozitīvu skaitli, bet 1 apzīmē negatīvu skaitli. - Neobjektīvais eksponents -
Eksponenta laukam ir jāatspoguļo gan pozitīvie, gan negatīvie eksponenti. Faktiskajam eksponentam tiek pievienota novirze, lai iegūtu saglabāto eksponentu. - Normalizētā mantisa -
Mantisa ir daļa no skaitļa zinātniskā apzīmējumā vai peldošā komata skaitļa, kas sastāv no tā zīmīgajiem cipariem. Šeit mums ir tikai 2 cipari, t.i., O un 1. Tātad normalizētā mantisa ir tāda, kurā ir tikai viens 1 pa kreisi no decimāldaļas.
IEEE 754 numuri ir sadalīti divos, pamatojoties uz iepriekšminētajiem trim komponentiem: viena precizitāte un dubultā precizitāte.
| VEIDI | PARAKSTI | Neobjektīvs EXPONENTS | NORMALIZĒTA MANTISA | AIZSPRIEDUMS |
|---|---|---|---|---|
| Viena precizitāte | 1 (31. bits) | 8(30-23) | 23(22-0) | 127 |
| Divkārša precizitāte | 1 (63. bits) | 11 (62-52) | 52(51-0) | 1023 |
Piemērs -
Excel noņemt pirmo rakstzīmi
85.125 85 = 1010101 0.125 = 001 85.125 = 1010101.001 =1.010101001 x 2^6 sign = 0 1. Single precision: biased exponent 127+6=133 133 = 10000101 Normalised mantisa = 010101001 we will add 0's to complete the 23 bits The IEEE 754 Single precision is: = 0 10000101 01010100100000000000000 This can be written in hexadecimal form 42AA4000 2. Double precision: biased exponent 1023+6=1029 1029 = 10000000101 Normalised mantisa = 010101001 we will add 0's to complete the 52 bits The IEEE 754 Double precision is: = 0 10000000101 0101010010000000000000000000000000000000000000000000 This can be written in hexadecimal form 4055480000000000>
Īpašas vērtības: IEEE ir rezervējis dažas vērtības, kas var būt neskaidras.
- Nulle -
Nulle ir īpaša vērtība, kas apzīmēta ar eksponentu un mantisu 0. -0 un +0 ir atšķirīgas vērtības, lai gan tās abas ir vienādas.
- denormalizēts -
Ja eksponents ir visas nulles, bet mantisa nav, tad vērtība ir denormalizēts skaitlis. Tas nozīmē, ka šim skaitlim pirms binārā punkta nav pieņemts vadošais skaitlis. - Bezgalība -
Vērtības +bezgalība un -bezgalība ir apzīmētas ar visu vieninieku eksponentu un visu nulles mantisu. Zīmes bits atšķir negatīvo bezgalību un pozitīvo bezgalību. Operācijas ar bezgalīgām vērtībām ir labi definētas IEEE. - Nav numurs (NAN) —
Vērtība NAN tiek izmantota, lai attēlotu vērtību, kas ir kļūda. Tas tiek attēlots, ja eksponenta lauks ir vieninieks ar nulles zīmes bitu vai mantisu, ka tas nav 1, kam seko nulles. Šī ir īpaša vērtība, ko var izmantot, lai apzīmētu mainīgo, kuram vēl nav vērtības.
| EKSPONENTS | MANTISA | VĒRTĪBA |
|---|---|---|
| 0 | 0 | precīzs 0 |
| 255 | 0 | Bezgalība |
| 0 | nevis 0 | denormalizēts |
| 255 | nevis 0pārdēvējiet direktoriju operētājsistēmā Linux | Nav numurs (NAN) |
Līdzīgi dubultajai precizitātei (tikai aizstājot 255 ar 2049), peldošā komata skaitļu diapazoni:
| Denormalizēts | Normalizēts | Aptuvenais decimālskaitlis | |
|---|---|---|---|
| Viena precizitāte | ±2-149līdz (1-2-23)×2-126 | ±2-126līdz (2-2-23)×2127 | ± aptuveni 10-44,85līdz aptuveni 1038.53 |
| Dubultā precizitāte | ±2-1074līdz (1-2-52)×2-1022 | ±2-1022līdz (2-2-52)×21023 | ± aptuveni 10-323.3līdz aptuveni 10308.3 |
Pozitīvo peldošā komata skaitļu diapazonu var sadalīt normalizētos skaitļos un denormalizētos skaitļos, kas izmanto tikai daļu no daļskaitļu precizitātes. Tā kā katram peldošā komata skaitlim ir atbilstoša, noliegta vērtība, iepriekš minētie diapazoni ir simetriski ap nulli.
Ir pieci atšķirīgi skaitliski diapazoni, kurus vienas precizitātes peldošā komata skaitļi nevar attēlot, izmantojot līdz šim parādīto shēmu:
- Negatīvie skaitļi ir mazāki par – (2–2-23) × 2127(negatīva pārpilde)
- Negatīvie skaitļi, kas lielāki par – 2-149(negatīva nepietiekama plūsma)
- Nulle
- Pozitīvie skaitļi, kas mazāki par 2-149(pozitīva zemplūsma)
- Pozitīvie skaitļi, kas lielāki par (2–2-23) × 2127(pozitīva pārplūde)
Pārpilde parasti nozīmē, ka vērtības ir izaugušas pārāk lielas, lai tās varētu attēlot. Nepietiekama plūsma ir mazāk nopietna problēma, jo tas nozīmē tikai precizitātes zudumu, kas tiek garantēts, ka tas ir tuvu nullei.
java string Charat
Tālāk ir parādīta galīgo IEEE peldošā komata skaitļu kopējā efektīvā diapazona tabula:
| Binārs | Decimālzīme | |
|---|---|---|
| Viens | ± (2–2-23) × 2127 | aptuveni ± 1038.53 |
| Dubults | ± (2–2-52) × 21023 | aptuveni ± 10308.25 |
Īpašas operācijas -
| Darbība | Rezultāts |
|---|---|
| n ÷ ±Bezgalība | 0 |
| ±Bezgalība × ±Bezgalība | ±Bezgalība |
| ±nonNulle ÷ ±0 | ±Bezgalība |
| ±galīgs × ±bezgalība | ±Bezgalība |
| Bezgalība + Bezgalība Bezgalība - bezgalība | + Bezgalība |
| -Bezgalība - Bezgalība -Bezgalība + - Bezgalība | – Bezgalība |
| ±0 ÷ ±0 | NaN |
| ±Bezgalība ÷ ±Bezgalība | NaN |
| ±Bezgalība × 0 | NaN |
| NaN == NaN | Nepatiesi |