Decimal entero binario


El estándar IEEE 754-2008 incluye formatos de números de punto flotante decimal en los que la mantisa y el exponente (y las cargas útiles de NaN ) se pueden codificar de dos maneras, denominadas codificación binaria y codificación decimal . [1]

Ambos formatos descomponen un número en un bit de signo s , un exponente q (entre q min y q max ) y una significando p -dígito c (entre 0 y 10 p −1). El valor codificado es (−1) s × 10 q × c . En ambos formatos, el rango de valores posibles es idéntico, pero difieren en cómo se representa el significado c . En la codificación decimal, se codifica como una serie de p dígitos decimales (usando el decimal densamente empaquetado ).(codificación DPD)). Esto hace que la conversión a forma decimal sea eficiente, pero requiere una ALU decimal especializada para procesar. En la codificación decimal entera binaria ( BID ), se codifica como un número binario.

Usando el hecho de que 2 10 = 1024 es solo un poco más que 10 3 = 1000, 3 números decimales de n dígitos pueden empaquetarse eficientemente en 10 n bits binarios. Sin embargo, los formatos IEEE tienen significados de 3 n +1 dígitos, lo que generalmente requeriría 10 n +4 bits binarios para representar.

Esto no sería eficiente, porque solo se necesitan 10 de los 16 valores posibles de los 4 bits adicionales. Se puede diseñar una codificación más eficiente utilizando el hecho de que el rango del exponente tiene la forma 3×2 k , por lo que el exponente nunca comienza con 11. Usando la codificación Decimal32 (con un significado de 3*2+1 dígitos decimales) como ejemplo ( esignifica exponente, mmantisa, es decir, significado):

Los bits que se muestran entre paréntesis son implícitos : no están incluidos en los 32 bits de la codificación Decimal32, pero están implícitos en los dos bits después del bit de signo.

Las codificaciones Decimal64 y Decimal128 tienen campos de exponente y significado más grandes, pero funcionan de manera similar.