IEEE 754

Из Википедије, слободне енциклопедије


Стандард IEEE 754 прописује начине записа и интерпретацију реалних бројева у покретним зарезу на рачунарима. Данас је најшире коришћен стандард интегрисан у многе процесоре (енгл. CPU, Central processing unit) и јединице за обраду бројева у покретном зарезу (енгл. FPU, Floating point unit). Стандард дефинише формате разних величина и специјалне вредности (попут бесконачности и немогућег броја). Такође одређује и четри мода заокруживања бројева и пет изузетака (специјалних случајева).

Мотив за развој стандарда су били бројни начини записа и интерпретације који су се користили у прошлости узроковавши непреносивост софтвера између два рачунара чији процесори не користе исти стандард. Софтвер пренет између два оваква рачунара обично је радио парцијално или уопште не, а добијени резултати су било практично неупотребљиви.

Пун назив сатандарда је IEEE Standard for Binary Floating-Point Arithmetic, што значи IEEE-ов (од енгл. Institute of Electrical and Electronics Engineers) стандард за бинарну аритметику у покретном зарезу.

Формати[уреди]

Следећа табела даје кратак преглед дефинисаних формата:

Формат Величина 1+r+p Фракција p Фракција при нормализованости Експонент r Вредности експонента при нормализованости Увећање експонента B
једноструки 32 бита 23 бита 24 бита 8 бита 1 ≤ E ≤ 254 127
двоструки 64 бита 52 бита 53 бита 11 бита 1 ≤ E ≤ 2046 1023
једноструки проширени > 42 бита > 30 бита > 31 бит > 10 бита ≥ 1023
двоструки проширени > 78 бита > 62 бита > 63 бита > 14 бита ≥ 16383
једноструки проширени, минимум 43 бита 31 бит 32 бита 11 бита 1 ≤ E ≤ 2046 1023
двоструки проширени, минимум 79 бита 63 бита 64 бита 15 бита 1 ≤ E ≤ 32766 16383
четвороструки 128 бита 112 бита 113 бита 15 бита 1 ≤ E ≤ 32766 16383

Интерпретација[уреди]

Интерпретација броја умногоме зависи од вредности експонента, а следећа табела описује њен процес за све горе наведене моделе:

Експонент Е Фракција М Интерпретација Ознака Опис
E = 0 M = 0 (−1)S × 0 ±0 нула
E = 0 M > 0 (−1)S × M / 2p × 21−B ±0,M × 21−B денормализоваан број
0 < E < 2r−1 (−1)S × (1+M / 2p) × 2EB ±1,M × 2EB нормализован број
E = 2r−1 M = 0 (−1)S × ∞ ±∞ бесконачност
E = 2r−1 M > 0 NaN (NaNs или NaNq) not a number немогућ број

Где су:

  • r - број битова експонента
  • p - број битова фракције
  • S - бројевна вредност бита знака
  • E - бројевна вредност експонента
  • M - бројевна вредност фракције