logo

IEEE standarto 754 slankiojo kablelio numeriai

IEEE slankiojo kablelio aritmetikos standartas (IEEE 754) yra techninis slankiojo kablelio skaičiavimo standartas, kurį 1985 m. Elektros ir elektronikos inžinierių institutas (IEEE) . Standartas išsprendė daugybę problemų, aptiktų įvairiuose slankiojo kablelio diegimuose, dėl kurių buvo sunku juos patikimai naudoti ir sumažino jų perkeliamumą. IEEE Standard 754 slankusis kablelis šiandien yra labiausiai paplitęs realių skaičių pateikimas kompiuteriuose, įskaitant „Intel“ pagrįstus asmeninius kompiuterius, „Mac“ kompiuterius ir daugumą „Unix“ platformų.

Yra keletas būdų, kaip pateikti slankiojo kablelio skaičių, tačiau IEEE 754 daugeliu atvejų yra efektyviausias. IEEE 754 turi 3 pagrindinius komponentus:



  1. Mantisos ženklas -
    Tai taip pat paprasta, kaip ir pavadinimas. 0 reiškia teigiamą skaičių, o 1 reiškia neigiamą skaičių.
  2. Šališkas eksponentas –
    Eksponento laukas turi atstovauti ir teigiamus, ir neigiamus eksponentus. Prie faktinio eksponento pridedamas poslinkis, kad būtų gautas saugomas eksponentas.
  3. Normalizuota mantisa -
    Mantisa yra skaičiaus moksliniu žymėjimu arba slankiojo kablelio skaičiaus dalis, sudaryta iš reikšmingų skaitmenų. Čia turime tik 2 skaitmenis, t.

IEEE 754 numeriai skirstomi į du, remiantis pirmiau minėtais trimis komponentais: vieno tikslumo ir dvigubo tikslumo.




TIPAI PASIŽYMAS ŠALINIS RODIKLIS NORMALIZUOTA MANTISA BIAS
Vienetinis tikslumas 1 (31 bitas) 8 (30-23) 23(22-0) 127
Dvigubas tikslumas 1 (63 bitas)



dvejetainė paieška
11 (62-52) 52(51-0) 1023

Pavyzdys -

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>

Ypatingos vertybės: IEEE rezervavo kai kurias vertes, kurios gali būti dviprasmiškos.

  • nulis -
    Nulis yra speciali reikšmė, žymima eksponentu, o mantisa yra 0. -0 ir +0 yra skirtingos reikšmės, nors jos abi yra lygios.



  • Denormalizuotas -
    Jei eksponentas yra visi nuliai, o mantisa nėra, tada reikšmė yra denormalizuotas skaičius. Tai reiškia, kad šis skaičius neturi numanomo pirmaujančio prieš dvejetainį tašką.

  • begalybė –
    Reikšmės +begalybė ir -begalybė žymimos visų vienetų eksponentu ir visų nulių mantisa. Ženklo bitas išskiria neigiamą begalybę ir teigiamą begalybę. Operacijos su begalinėmis reikšmėmis yra gerai apibrėžtos IEEE.

  • Ne numeris (NAN) –
    Reikšmė NAN naudojama reikšmei, kuri yra klaida, nurodyti. Tai vaizduojama, kai eksponentų laukas yra vienetas su nulio ženklo bitu arba mantisa, kad jis nėra 1, o po jo yra nuliai. Tai speciali reikšmė, kuri gali būti naudojama žymėti kintamąjį, kuris dar neturi reikšmės.
EKSPONENTAS MANTISA VERTĖ
0 0 tiksliai 0
255 0

Begalybė
0 ne 0 denormalizuotas
255 ne 0

Ne skaičius (NAN)

Panašus dvigubam tikslumui (tik 255 pakeičiamas 2049), slankiojo kablelio skaičių diapazonai:

Denormalizuotas Normalizuotas Apytikslis dešimtainis
Vienkartinis tikslumas ±2-149iki (1-2-23)×2-126 ±2-126iki (2–2-23)×2127 ± maždaug 10-44,85iki maždaug 1038.53
Dvigubas tikslumas ±2-1074iki (1-2-52)×2-1022 ±2-1022iki (2–2-52)×21023 ± maždaug 10-323.3iki maždaug 10308.3

Teigiamų slankiojo kablelio skaičių diapazoną galima padalyti į normalizuotus skaičius ir denormalizuotus skaičius, kuriems naudojama tik dalis trupmenų tikslumo. Kadangi kiekvienas slankiojo kablelio skaičius turi atitinkamą neigiamą reikšmę, aukščiau pateikti diapazonai yra simetriški aplink nulį.

Yra penki skirtingi skaitiniai diapazonai, kurių vieno tikslumo slankiojo kablelio skaičiai negali pateikti pagal iki šiol pateiktą schemą:

in.kita java
  1. Neigiami skaičiai, mažesni nei – (2–2-23) × 2127(neigiamas perpildymas)
  2. Neigiami skaičiai, didesni nei – 2-149(neigiamas perteklius)
  3. Nulis
  4. Teigiami skaičiai, mažesni nei 2-149(teigiamas perteklius)
  5. Teigiami skaičiai, didesni nei (2–2-23) × 2127(teigiamas perpildymas)

Perpildymas paprastai reiškia, kad vertės išaugo per didelės, kad jas būtų galima pavaizduoti. Nepakankamas srautas yra ne tokia rimta problema, nes tai tik reiškia tikslumo praradimą, kuris garantuotai bus artimas nuliui.

Žemiau parodyta viso efektyvaus baigtinių IEEE slankiojo kablelio skaičių lentelė:

Dvejetainis Dešimtainė
Vienišas ± (2–2-23) × 2127 maždaug ± 1038.53
Dvigubas ± (2–2-52) × 21023 maždaug ± 10308.25

Specialios operacijos –

Operacija Rezultatas
n ÷ ±Begalybė 0
±Begalybė × ±Begalybė ± Begalybė
± neNulis ÷ ±0 ± Begalybė
±baigtinis × ±begalybė ± Begalybė
Begalybė + Begalybė
Begalybė - - Begalybė
+ Begalybė
-Begalybė - Begalybė
-Begalybė + - Begalybė
– Begalybė
±0 ÷ ±0 NaN
±Begalybė ÷ ±Begalybė NaN
± Begalybė × 0 NaN
NaN == NaN Netiesa