De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda

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

IEEE 754 formato de punto flotante binario de precisión octuple: binary256 [ editar ]

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

  • Bit de signo : 1 bit
  • Ancho del exponente : 19 bits
  • Precisión significativa : 237 bits (236 almacenados explícitamente)

El formato se escribe con un bit inicial implícito con valor 1 a menos que el exponente sea todo ceros. Por lo tanto, solo 236 bits del significado aparecen 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:

Codificación de exponentes [ editar ]

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

  • E min = −262142
  • E máx = 262143
  • Sesgo de exponente = 3FFFF 16 = 262143

Por lo tanto, según lo definido por la representación binaria de compensación, para obtener el exponente verdadero, la compensación de 262143 debe restarse del exponente almacenado.

Los exponentes almacenados 00000 16 y 7FFFF 16 se interpretan especialmente.

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 octuple [ editar ]

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

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 -262,142 × 2 -236 = 2 -262,378
≈ 2,24800708647703657297018614776265182597360918266100276294348974547709294462 × 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 ffff 16
= 2 −262142 × (1 - 2 −236 )≈ 2.4824279514643497882993282229138717236776877060796468692709532979137875392 × 10 −78913 (número subnormal más grande)
0000 1000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 16
= 2 −262142
≈ 2.48242795146434978829932822291387172367768770607964686927095329791378756168 × 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 ffff 16
= 2 262143 × (2 - 2 −236 )≈ 1.61132571748576047361957211845200501064402387454966951747637125049607182699 × 10 78913 (mayor número normal)
3fff efff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff 16
= 1 - 2 −237≈ 0.9999999999999999999999999999999999999999999999999999999999999999999995472 (número más grande menos de 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 más pequeño mayor que uno)

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

Implementaciones [ editar ]

La precisión de octuple 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 octuple con un significado de complemento a dos de 224 bits y un exponente de 32 bits. [1] Se pueden usar bibliotecas aritméticas generales de precisión arbitraria para obtener una precisión octuple (o superior), pero las implementaciones especializadas de precisión octuple pueden lograr un mayor rendimiento.

Soporte de hardware [ editar ]

No se conoce una implementación de hardware de precisión octuple.

Ver también [ editar ]

  • Estándar IEEE para aritmética de coma flotante (IEEE 754)
  • ISO / IEC 10967 , aritmética independiente del idioma
  • Tipo de datos primitivo

Referencias [ editar ]

  1. ^ R. Crandall; J. Papadopoulos (8 de mayo de 2002). "Punto flotante de precisión octuple en Apple G4 (copia archivada en web.archive.org)" (PDF) . Archivado desde el original el 28 de julio de 2006. CS1 maint: parámetro desaconsejado ( enlace ) CS1 maint: URL no apta ( enlace )

Lectura adicional [ editar ]

  • Beebe, Nelson HF (22 de agosto de 2017). El manual de computación de funciones matemáticas - Programación usando la biblioteca de software portátil MathCW (1 ed.). Salt Lake City, UT, Estados Unidos: Springer International Publishing AG . doi : 10.1007 / 978-3-319-64110-2 . ISBN 978-3-319-64109-6. LCCN  2017947446 .