stringtranslate.com

Formato de punto flotante de precisión óctuple

En informática , la precisión óctuple es un formato numérico de computadora basado en punto flotante binario que ocupa 32 bytes (256 bits ) en la memoria de la computadora. Esta precisión óctuple de 256 bits es para aplicaciones que requieren resultados con una precisión superior a cuádruple . Este formato rara vez (o nunca) se utiliza y muy pocos entornos lo admiten.

Formato de punto flotante binario de precisión óctuple IEEE 754: binario256

En su revisión de 2008, el estándar IEEE 754 especifica un formato binario256 entre los formatos de intercambio (no es un formato básico), que tiene:

El formato se escribe con un bit inicial implícito con valor 1 a menos que el exponente sea todo ceros. Así, sólo aparecen 236 bits del significado en el formato de memoria, pero la precisión total es de 237 bits (aproximadamente 71 dígitos decimales: log 10 (2 237 ) ≈ 71,344 ). Los bits se distribuyen de la siguiente manera:

Diseño de formato de punto flotante de precisión óctuple

Codificación de exponentes

El exponente binario de punto flotante de precisión octuple se codifica utilizando una representación binaria desplazada , siendo el desplazamiento cero 262143; También conocido como sesgo de exponente en el estándar IEEE 754.

Por lo tanto, tal como lo define la representación binaria de desplazamiento, para obtener el exponente verdadero, se debe restar el desplazamiento de 262143 del exponente almacenado.

Los exponentes almacenados 00000 16 y 7FFFF 16 se interpretan de forma especial.

El valor mínimo estrictamente positivo (subnormal) es 2 −262378 ≈ 10 −78984 y tiene una precisión de solo un bit. El valor normal positivo mínimo es 2 −262142 ≈ 2,4824 × 10 −78913 . El valor máximo representable es 2 262144 − 2 261907 ≈ 1,6113 × 10 78913 .

Ejemplos de precisión óctuple

Estos ejemplos se dan en representación de bits , en hexadecimal , del valor de punto flotante. Esto incluye el signo, el exponente (sesgado) y el significado.

0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 16 = +08000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 16 = −0
7fff f000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 16 = +infinitoffff f000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 16 = −infinito
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 16
= 2 −262142 × 2 −236 = 2 −262378
≈ 2,248007 08647703657297018614776265182597360918266100276294348974547709294462 × 10 −78984 (número subnormal positivo más pequeño)
0000 0fff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff 16
= 2 −262142 × (1 − 2 −236 )≈ 2.4824279514643497882993282229138717236776877060796468692709532979137875392 × 10 −78913 (mayor número subnormal)
0000 1000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 16
= 2 −262142
≈ 2,48242795146434978829932 822291387172367768770607964686927095329791378756168 × 10 −78913 (número normal positivo más pequeño)
7fff efff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff 16
= 2 262143 × (2 − 2 −236 )≈ 1.61132571748576047361957211845200501064402387454966951747637125049607182699 × 10 78913 (número normal más grande)
3fff efff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff 16
= 1 − 2 −237≈ 0.99999999999999999999999999999999999999999999999999999999999999999999995472 (número mayor menor que uno)
3fff f000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 16= 1 (uno)
3fff f000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 16
= 1 + 2 −236≈ 1.00000000000000000000000000000000000000000000000000000000000000000000000906 (número menor mayor que uno)

De forma predeterminada, 1/3 se redondea hacia abajo como con doble precisión , debido al número impar de bits en el significado. Entonces, los bits más allá del punto de redondeo 0101...son menos de 1/2 de una unidad en el último lugar .

Implementaciones

La precisión óctuple rara vez se implementa ya que su uso es extremadamente raro. Apple Inc. tenía una implementación de suma, resta y multiplicación de números de precisión óctuple con un significado en complemento a dos de 224 bits y un exponente de 32 bits. [1] Se pueden utilizar bibliotecas aritméticas generales de precisión arbitraria para obtener precisión óctuple (o superior), pero las implementaciones especializadas de precisión óctuple pueden lograr un mayor rendimiento.

Soporte de hardware

No se conoce ninguna implementación de hardware de precisión óctuple.

Ver también

Referencias

  1. ^ Crandall, Richard E .; Papadopoulos, Jason S. (8 de mayo de 2002). "Coma flotante de precisión óctuple en Apple G4 (copia archivada en web.archive.org)" (PDF) . Archivado desde el original el 28 de julio de 2006.{{cite web}}: CS1 maint: unfit URL (link)(8 páginas)

Otras lecturas