punto flotante razones de tipo flotador de precisión simple no representan exactamente los números reales

flotador se almacenan en la memoria

De direcciones altas para reducir direcciones (de izquierda a derecha):
el bit de signo (bit 31) Índice de (30 - 23) mantisa (22 a 0)
un flotador -32 bits de 4 bytes en total:

  1. bit de signo (un total de)
    el bit más a la izquierda es el signo, 0 para el positivo, 1 para el negativo
  2. Índice de (8-bit)
    porción exponente, con el mismo índice que representa la clase binario
  3. Mantisa (23 total)
    mantisa es un 23-bit de fracción + 1 bits (se explica más adelante)

Acerca de mantisa

Efectiva para guardar el número de coma flotante de la mantisa, por ejemplo 8.25 a 8.25 expresado como binario: 1.000,01,
por lo que el número efectivo del 8,25 a 1000,01, 1000,01 mantisa es decir 8,25. Si la notación científica para representar es 1,00001 * (23), por lo que el índice es 3, poniendo fin a 1,00001,. Sin embargo, la memoria se almacena en la mantisa estructura flotador no es parte de 1,00001, pero 00001, que es 1 punto y no se almacenan. Debido IEEE sentía, ya que todos estamos de acuerdo después del punto decimal se mueve a la primera cifra significativa, entonces debe tener un valor predeterminado antes del punto decimal y sólo un 1, por lo que éste también guardar los desechos, simplemente no lo hacen, por lo que dice que finalizó el 23 razones +1 bits. Por lo tanto, en el ordenador, flotar mantisa parte de la estructura real de la memoria de almacenamiento es 00001 (detrás de Tim 0 maquillaje 23), pero el número real debería ser la mantisa 1,00001 sí, uno no se pierde.
De hecho, esto se llama la mantisa, creo que está en el nivel más bajo de 32, es decir, que llegó al final, por lo que un nombre conocido como mantisa, es muy fácil y el concepto de fracción entrelazados. 8,25 convertidos en notación binaria y científica es 1,00001 * (23), flotador en su mantisa es 1,00001, el almacenamiento real es 00001, la parte fraccionaria de este número es 0,01, y la parte fraccional de la mantisa no es un medio moneda de diez centavos . Personalmente creo, como un llamado directo a flotador simple, porque este lugar es en sí mismo indica que los números reales (nota que el número real aquí se refiere a la representación de la notación científica).

flotador no puede realmente razón de ser representados con precisión en el número de coma flotante binaria

En primer vistazo a un ejemplo: 0,9 buscar la representación binaria de
la decimal convertida en una representación binaria del método: tomar la parte fraccionaria se multiplica por 2, para tomar la parte entera, hasta que el producto es 0, el número de arriba hacia abajo y, finalmente, eliminado disposición de la secuencia positiva

0.9 * 2 = 1,8 preparativa 1
0.8 * 2 = 1,6 preparativa 1
0.6 * 2 = 1,2 preparativa 1
0.2 * 2 = 0,4 preparativa 0
0,4 * 2 = 0,8 preparativa 0
0,8 * 2 = 1,6 preparativa 1
0.6 * 2 = 1,2 preparativa 1
... ...

Así 0,9 representación binaria: 111001100 ... bucle infinito
nos encontraremos con él y luego acabar con un bucle infinito, nunca llegó. Para obtener las paradas de algoritmo, a continuación, la parte fraccional es exactamente 0,5 a 0,25 ó 0,5, etc. puede ser decimales divisibles. Sin embargo, este resultado no se puede cumplir. Así que la mayoría de las veces, la representación número binario decimal se convierte en un bucle infinito. Sin embargo, flotador almacenada parte mantisa del propio flotador es sólo el 23, sólo puede guardar 23 cifras decimales, con lo que llegó después se dejó caer el primer número decimal 23, lo que llevó al punto flotante no puede ser precisa dijo,

Publicado 40 artículos originales · alabanza ganado 18 · vistas 7587

Supongo que te gusta

Origin blog.csdn.net/weixin_44395686/article/details/98498306
Recomendado
Clasificación