¿Cuál es la diferencia entre flotador de precisión simple y doble precisión doble?

1. El número de bytes es diferente

1. Float ocupa 4 bytes, que son 32 bits.

2. Double ocupa 8 bytes, que son 64 bits.

2. El número de dígitos en el campo exponente es diferente

1. El campo exponente de float es de 8 bits y el rango expresable es 0~255.

2. El campo exponente de double es de 11 bits y el rango expresable es 0~2047.

3. El número de dígitos en el campo exponente es diferente

1. El campo decimal de float es de 23 dígitos.

2. El campo decimal de double es de 52 bits.

4. Diferentes compensaciones de exponentes

1. La compensación de exponentes de float es 127, por lo que el rango de valores de exponentes reales que se pueden expresar es -127~128.

2. El desplazamiento del índice de double es, por lo que el rango del valor del índice expresable real es -1023~1024.

5. El rango de números representables es diferente

1 El rango de números representables por flotante es -2^128~2^128, es decir, -3.40E+38. ~ .40E+ 38.

2. El rango de números representables para doble es -2^1024~2^1024, es decir, -1.79E^308~1.79E^308.

Información ampliada:

Método de expresar números reales en formato de coma flotante:

Tomemos el número real -9,625 como ejemplo.

1. Encuentre el número binario correspondiente al número real: 1001.101, que se expresa como: -1.001101*2^3 utilizando el método científico y técnico.

2. Al ser un número negativo, el signo es 1.

3. El exponente es 3, por lo que el valor del campo exponente es 3 + 127 = 130, que es 10000010 en binario.

4. La mantisa es 1.001101. Después de omitir el 1 en el lado izquierdo del punto decimal, es 001101. Complete 0 en el lado derecho para completar 23 dígitos. El campo de mantisa final es: 00110100000000000000000.

5. Resultado final: 1 10000010 00110100000000000000000, expresado en hexadecimal: 0xC11A0000.

Enciclopedia Baidu: datos de punto flotante