simple regla online hexadecimal estandar doble calculadora ieee-754

ieee 754 - regla - Punto flotante: "El 1 inicial es ''implícito'' en el significado."-... ¿eh?



ieee 754 online calculator (3)

Estoy aprendiendo sobre la representación de los números IEEE 754 de punto flotante, y mi libro de texto dice:

Para empaquetar aún más bits en el significando, IEEE 754 hace que el primer bit de los números binarios normalizados sea implícito. Por lo tanto, el número es en realidad de 24 bits de longitud en una sola precisión (fracción implícita de 1 y 23 bits) y de 53 bits de longitud en doble precisión (1 + 52).

No entiendo lo que significa "implícito" aquí ... ¿cuál es la diferencia entre un bit explícito y un bit implícito? ¿No todos los números tienen el bit, independientemente de su signo?


Esto es lo que están diciendo. El primer bit que no sea cero siempre va a ser 1. Por lo tanto, no es necesario que la representación binaria incluya ese bit, ya que sabes lo que es. Así que no lo hacen. Te dicen dónde está el primero 1 y luego le dan los bits después. Así que hay un 1 que no está explícitamente en la representación binaria, cuya ubicación está implícita por el hecho de que te dijeron dónde estaba.


Sí, todos los números normalizados (excepto los ceros) tienen ese bit establecido en uno (a) , por lo que lo hacen implícito para evitar el desperdicio de espacio almacenándolo.

En otras palabras, guardan ese bit totalmente y lo reutilizan para que pueda usarse para aumentar la precisión de sus números.

Tenga en cuenta que este es el primer bit de la fracción, no el primer bit del patrón binario. El primer bit del patrón binario es el signo, seguido de unos pocos bits de exponente, seguido de la fracción en sí.

Por ejemplo, un solo número de precisión es (signo, exponente, fracción):

<1> <--8---> <---------23----------> <- bit widths s eeeeeeee fffffffffffffffffffffff

Si miras la forma en que se calcula el número, es:

(-1) sign x 1.fraction x 2 exponent-bias

Así que la parte fraccionaria utilizada para calcular ese valor es 1.fffff...fff (en binario).

(a) En realidad, hay una clase de números (los desnormalizados y los ceros) para los cuales esa propiedad no es cierta. Todos estos números tienen un exponente sesgado de cero, pero la gran mayoría de los números siguen la regla.


También puede ser útil tener en cuenta que se trata de representaciones binarias de un número. La razón por la que el primer dígito de un número binario normalizado (es decir, sin ceros iniciales) debe ser 1 es que 1 es el único valor no nulo disponible para nosotros en esta representación. Entonces, lo mismo no sería cierto para, por ejemplo, representaciones de base tres.