IEEE 754
El estàndart del IEEE para aritmètica en punt flotant (IEEE 754) és la norma o estàndart tècnic per a computació en punt flotant, establida en 1985 per l'Institut d'Ingeniers Elèctrics i Electrònics (IEEE). La norma va abordar molts problemes trobats en les diverses implementacions de punt flotant que les feyen difícils d'usar de forma fiable i portàtil. Moltes unitats de menge flotant d'hardware utilisen ara l'estàndart IEEE 754.
L'estàndart definix:
- Formats aritmètics: conjunts de senyes de punt flotant binarios i decimals, que consistixen en números finitos, inclosos els zeros en signe i els números desnormalizados o subnormales, infinits i valors especials "no numèrics" (NaN).
- Formats d'intercanvi: codificació (cadenes de bits) que es poden utilisar per a intercanviar senyes de punt flotant de forma eficient i compacta.
- Regles de grosseig: propietats que deuen satisfer-se en redonejar els números durant les operacions aritmètiques i les conversió.
- Operacions: operacions aritmètiques i unes atres (com a funcions trigonométricas) en formats aritmètics.
- Maneig d'excepcions: indicacions de condicions excepcionals, tals com a divisió per zero, desbordament, etc.
La norma també és coneguda com IEC 60559:1989, Binary floating-point arithmetic for microprocessor systems (originalment el número de referència era IEC 559:1989).[1]
La versió actual, IEEE 754-2008 publicada en agost de 2008, inclou casi tot l'estàndart IEEE 754-1985 original i l'estàndart IEEE per a aritmètica de punt flotant independent de la base (IEEE 854-1987).
Desenroll de l'estàndart
[editar | editar còdic]La versió actual de l'estàndart, denominada IEEE 754-2008, publicada en agost de 2008, es deriva de la versió anterior (IEEE 754-1985) a la qual seguida per un procés de revisió de sèt anys, presidit per Donen Zuras i editat pel professor de ciències de la computació Mike Cowlishaw.
L'estàndart internacional ISO/IEC/IEEE 60559:2011, en contingut idèntic a el IEEE 754-2008 ha segut aprovat per a la seua adopció a través del comité tècnic conjunt ISO/IEC JTC 1/SC 25 en virtut de l'acort ISO/IEEE PSDO[2] i publicat.[3]
Els formats binarios en l'estàndart original s'inclouen en el nou estàndart junt en tres nous formats bàsics (u binario i dos decimals). Per a complir en l'estàndart actual, deu ser implementat a lo manco un dels formats bàsics tant com a format aritmètic, com d'intercanvi. En setembre de 2015, la norma va escomençar a ser revisada per a incorporar aclariments i erratas.[4][5]
Formats
[editar | editar còdic]Un format IEEE 754 és un conjunt de representacions de valors numèrics i símbols. Un format també pot incloure cóm es codifica el conjunt.
Un format comprén:
- Números finitos, que poden ser de base 2 (binario) o de base 10 (decimal). Cada número finito es descriu per tres sancers: s (un bit de signe), c (un significant, mantissa o coeficient) i q (exponent). El valor numèric d'un número finito és:
A on b és la base (2 o 10). Per eixemple, si la base és 10, el signe és 1 (lo que indica signe negatiu), el significant és 12345, i l'exponent és -3, llavors el valor del número és: (−1)¹ × 12345 × 10−3 = −1 × 12345 × .001 = −12.345.
- Dos infinits: i .
- Dos tipos de valors no numèrics (NaN): un NaN silenciós (qNaN) i un NaN de senyalisació (sNaN). Un NaN pot dur una càrrega útil que està destinada a l'informació de diagnòstic que indica la font de la NaN. El signe d'un NaN no té sentit, pero pot ser predible en algunes circumstàncies.
Els possibles valors finitos que es poden representar en un format estan determinats per la base , el número de dígits en el significant (precisió p) i el paràmetro exponent màxim :
- c deu ser un número entero en l'interval tancat . Per eixemple, si b = 10 i p = 7 llavors c està en l'interval tancat [0, 9999999]).
- q deu ser un sancer tal que . Si p = 7 i imax = 96 llavors q està en l'interval tancat [-101, 90].
Per lo tant (per als paràmetros de l'eixemple) el número positiu no nul més chicotet que es pot representar és 1 × 10-101 i el més gran és 9999999 × 1090 (9,999999 × 1096), i el ranc complet de números està en l'interval [-9,999999 × 1096 a 9,999999 × 1096]. Els números -b1-emax i b1-emax (en este eixemple, -1 × 10-95 i 1 × 10-95) són els números normals més menuts (en magnitut); els números no nuls entre estos números més menuts es diuen números subnormales.
Els valors zeros són valors finitos en significant 0. Estos són zeros en signe, el bit de signe específica si un zero és +0 (zero positiu) o -0 (zero negatiu).
Representació i codificació en memòria
[editar | editar còdic]Alguns números poden tindre vàries representacions en el model que acaba de ser descrit. Per eixemple, si b = 10 i p = 7, llavors el número -12,345 pot representar-se com -12345 × 10-3, -123450 × 10-4 i -1234500 × 10-5. No obstant, per a la majoria de les operacions, com les operacions aritmètiques, el resultat (valor) no depén de la representació de les entrades.
Per als formats decimals, qualsevol representació és vàlida, i el conjunt d'estes representacions es diu cohorte. Quan un resultat pot tindre vàries representacions, l'estàndar específica quin membre de la cohorte és elegit.
Per als formats binarios, la representació es fa única elegint l'exponent representable més menut. Per als números en un exponent en el ranc normal (no tots uns o tots zeros), el bit inicial del significant sempre serà 1. En conseqüència, el bit 1 principal pot ser implícit en lloc d'estar explícitament present en la codificació de la memòria. Esta regla es denomina convenció de bit principal, o també convenció de bits implícita o convenció de bits amagats. La regla permet que el format de memòria tinga una miqueta més de precisió. La convenció de bit principal no s'utilisa per als números subnormales ya que tenen un exponent fora del ranc de l'exponent normal.
Referències
[editar | editar còdic]- ↑ «IEEE Std 1003.1, 2004 Edition» (en anglés). The Open Group. Consultat el 27 de febrer de 2017.
- ↑ «FW: ISO/IEC/IEEE 60559 (IEEE Std 754-2008)» (en en). grouper.ieee.org. IEEE. Archivat des d'el original, el 19 de març de 2012. Consultat el 18 de març de 2017.
- ↑ «ISO/IEC/IEEE 60559:2011 - Information technology -- Microprocessor Systems -- Floating-Point arithmetic» (en en). www.iso.org. ISO. Consultat el 18 de març de 2017.
- ↑ «IEEE 754-2008 errata» (en en). speleotrove.com. Archivat des d'el original, el 8 d'octubre de 2019. Consultat el 18 de març de 2017.
- ↑ «Revising ANSI/IEEE Std 754-2008 http://754r.ucbtest.org» (en en). 754r.ucbtest.org. Consultat el 18 de març de 2017.
Vore també
[editar | editar còdic]- Notació científica
- Menge flotant
- Tipo de senya real
- Intel 8087. El coprocessador numèric d'a on va sorgir iniciativa per a l'estàndart IEEE 754
Referències
[editar | editar còdic]
- Este artícul conté una traducció derivada de «IEEE 754» de Wikipedia en castellà publicada baix la Llicència de documentació lliure de GNU i la Llicència Creative Commons Reconeiximent-CompartirIgual 4.0 Internacional.