Mitja precisió

De Viquipèdia
Dreceres ràpides: navegació, cerca

En informàtica, mitja precisió és un format numèric de computador que ocupa la meitat d'una localització d'emmagatzemament en una determinada adreça del computador, mitja paraula. Un nombre de mitja precisió pot ser definit a ser un enter, punt fix, o punt flotant. Per enters binaris, molts cops és anomenat short.

El punt flotant de mitja precisió és relativament un nou format binari de punt flotant que utilitza 2 bytes i que no està inclòs a l'estàndard IEEE 754 per la codificació de nombres en punt flotant (però està inclòs en la proposta de revisió IEEE 754r).

Aquest format és utilitzat en bastants entorns de gràfics d'ordinador incloent OpenEXR, OpenGL, i D3DX. L'avantatge sota els enters binaris de 8 o 16 bits és que incrementen el rang dinàmic permet més detall per que puguin ser conservats en alçament i ocultació. L'avantatge sobre formats binaris de 32 bits precisió simple és que necessiten la meitat de l'emmagatzemament i l'ample de banda.[1]

Format de mitja precisió[modifica | modifica el codi]

 Bit de signe: 1 bit
 Exponent mida: 5  bits
 Significant precisió: 10 (11 implícit) bits

El format és escrit amb el primer bit significatiu amb valor 1, a menys que l'exponent sigui tot zeros. Només apareixen 10 bits de la fracció. en llenguatge IEEE 754, hi ha 10 bits de significant, però hi ha 11 bits de precisió de significant (aproximadament 3 dígits decimals, \log_{10}(2^{11}) \approx 3.311). Els bits es defineixen de la següent manera:

syyy yyxx xxxx xxxx (10 xs)

Codificació de l'exponent[modifica | modifica el codi]

 Emin (0x01) = −14
 Emax (0x1e) = 15
 Exponent bias (0x0f) = 15

El verdader exponent = exponent escrit - exponent bias

 0x00 i 0x1f  són exponents reservats 
 0x00 és utilitzat per representar el zero i denormals
 0x1f és utilitzat per representar l'infinit i NaNs

Tots els patrons de codificació de bits són vàlids.

Els valors màxims i mínims representables són 2-24 = 5.96E-8 (denormalitzat) i 65504 respectivament. El mínim valor no denormalitzat és 2-14 = 6.10E-5.

Exemples de mitja precisió en hexadecimal[modifica | modifica el codi]

 3c00   = 1
 c000   = -2
 7bff   = 65504  (Màx precisió mitja)
 3555   ~ 0.33325... ~ 1/3 

(1/3 arrodoneix a la baixa com precisió doble, degut al nombre senar de bits al significant.)

 0400   = 2-14 ~ 6.10352E-5 (Mínim normalitzat)
 0001   = 2-24 ~ 5.96046E-8 (Mínim denormalitzat)
 0000   = 0
 8000   = -0
 7c00   = Infinit
 fc00   = -Infinit

Vegeu també[modifica | modifica el codi]

Enllaços externs[modifica | modifica el codi]

Referències[modifica | modifica el codi]