IEEE 754
L'estàndard de la IEEE per l'aritmètica en coma flotant (IEEE 754) és l'estàndard més àmpliament utilitzat per a les computacions del tipus esmentat, i és seguida per moltes de les implementacions de CPU i FPU.
L'estàndard defineix formats per a la representació de punt flotant (incloent-hi el zero) i valors desnormalitzats, així com valors especials com infinit i NaN (No Numèric) conjuntament amb un conjunt d'operacions en coma flotant que opera sobre aquests valors. També especifica quatre formes d'arrodoniment i cinc excepcions (incloent-hi quan aquestes excepcions succeeixen, i que succeeix en aquests moments).
IEEE 754 especifica quatre formats per a la representació de valors en coma flotant:
- precisió mitjana (16 bits): 1 bit de signe, 5 d'exponent i 10 de mantissa.
- precisió simple (32 bits): 1 bit de signe, 8 d'exponent i 23 de mantissa.
- precisió doble (64 bits): 1 bit de signe, 11 d'exponent i 52 de mantissa.
- precisió simple estesa (≥ 43 bits, no utilitzada normalment): 1 bit de signe, 11 d'exponent, i 31 de mantissa.
- precisió doble estesa (≥ 79 bits, normalment implementada amb 80 bits): 1 bit de signe, 15 d'exponent i 64 de mantissa.
- precisió quàdruple (128 bits): 1 bit de signe, 15 d'exponent i 112 de mantissa.
Només els valors de 32 bits són requerits per l'estàndard, els altres són opcionals.
Molts llenguatges especifiquen quins formats i quina aritmètica de la IEEE implementen, tot i que a vegades són opcionals. Per exemple, el llenguatge de programació C, ara permet però no requereix l'aritmètica de la IEEE (el tipus de C float indica habitualment precisió simple de la IEEE i el tipus double indica precisió doble de la IEEE).
El títol complet de l'estàndard és IEEE Standard for Binary Floating-Point Arithmetic (ANSI/IEEE Std 754-1985), i també és conegut per IEC 60559:1989, Binary floating-point arithmetic for microprocessor systems (originalment el número de referència era IEC 559:1989). [1]
Operacions
[modifica]Amb l'estàndard IEEE754 es poden fer operacions necessàries per a l'aritmètica d'un format suportat (incloent-hi els formats de base ") inclouen:
- Operacions aritmètiques (suma, resta, multiplicació, divisió, arrel quadrada, etc.).
- Conversions (entre els formats, i de cadenes, etc.).
- Ampliació i (per als decimals) de quantificació.
- Còpia i manipulació del senyal (ABS, negar, etc.).
- Comparacions i el total de comandes.
- Classificació i proves per NaN, etc.
- Proves i 'flags' de configuració.
- Diverses operacions més.