punto_flotante
Diferencias
Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
punto_flotante [2020/03/25 04:01] – [Codificación de un número en Punto Flotante de precisión Simple] charly | punto_flotante [2021/11/09 16:58] (actual) – editor externo 127.0.0.1 | ||
---|---|---|---|
Línea 58: | Línea 58: | ||
Notar que el número debe tener un solo dígito distinto de cero en la parte entera. Esto implica que el cero no es un número normalizado, | Notar que el número debe tener un solo dígito distinto de cero en la parte entera. Esto implica que el cero no es un número normalizado, | ||
- | Por ejemplo el número no normalizado | + | Por ejemplo el número no normalizado |
Consideraremos mantisa solamente a los dígitos binarios de la parte fraccionaria del número normalizado, | Consideraremos mantisa solamente a los dígitos binarios de la parte fraccionaria del número normalizado, | ||
Línea 96: | Línea 96: | ||
- En primer lugar debemos expresarlo como un número binario normalizado. Aplicando divisiones sucesivas y multiplicaciones sucesivas por 2 obtenemos que | - En primer lugar debemos expresarlo como un número binario normalizado. Aplicando divisiones sucesivas y multiplicaciones sucesivas por 2 obtenemos que | ||
- | 534,510 = 1000010110, | + | 534,5< |
- Como la parte entera es mayor a 1, debemos normalizarlo. En este caso alcanza con dividirlo 9 veces por 2 para que solo quede un uno en la parte entera. Luego 534,510 = 1000010110, | - Como la parte entera es mayor a 1, debemos normalizarlo. En este caso alcanza con dividirlo 9 veces por 2 para que solo quede un uno en la parte entera. Luego 534,510 = 1000010110, | ||
- Como el número es positivo, el bit de signo será s = 0. | - Como el número es positivo, el bit de signo será s = 0. | ||
Línea 122: | Línea 122: | ||
'' | '' | ||
- | - Separando las partes quedará | + | - Separando las partes quedará |
- | - Como s=1, vemos que el número es negativo. | + | - Como s=1, vemos que el número es **negativo**.\\ <color # |
- | - Como el exponente está codificado en exceso 127, podemos restarle 127 para obtener el exponente real: | + | - Como el exponente está codificado en exceso 127, podemos restarle 127 para obtener el exponente real:\\ |
- | - '' | + | - 01111100< |
- | - '' | + | - e = 124 - 127 = **-3**\\ <color # |
- | - Podemos expresar el número binario normalizado reemplazando cada una de las partes | + | - Podemos expresar el número binario normalizado reemplazando cada una de las partes\\ |
- f = (s) 1,m × 2< | - f = (s) 1,m × 2< | ||
- | - Desnormalizándolo queda: f = -0,00112 | + | - Desnormalizándolo queda: f = **-0,0011< |
- | - Finalmente el valor del número de punto flotante expresado en decimal será f = -0, | + | - Finalmente el valor del número de punto flotante expresado en decimal será\\ f = -0, |
==== Consideraciones sobre la operación con números de punto flotante ==== | ==== Consideraciones sobre la operación con números de punto flotante ==== | ||
Línea 137: | Línea 137: | ||
>>> | >>> | ||
False | False | ||
+ | |||
+ | {{youtube> | ||
Notar que la representación binaria de 0,1 requiere infinitos dígitos, por lo que el valor representado como '' | Notar que la representación binaria de 0,1 requiere infinitos dígitos, por lo que el valor representado como '' | ||
Línea 145: | Línea 147: | ||
Esto sugiere que en muchos casos será un error comparar números de punto flotante usando la igualdad. | Esto sugiere que en muchos casos será un error comparar números de punto flotante usando la igualdad. | ||
- | Además | + | Además |
+ | |||
+ | ---- | ||
+ | |||
+ | {{youtube> | ||
+ | **Normalización | ||
+ | |||
+ | ---- | ||
+ | |||
+ | {{youtube> | ||
+ | **Punto Flotante** | ||
==== Referencias ==== | ==== Referencias ==== | ||
* Tanenbaum - Apéndice B | * Tanenbaum - Apéndice B | ||
+ | |||
+ | --- // | ||
+ | |||
+ | ~~NOCACHE~~ | ||
+ | ({{counter|total}}) | ||
×
iphelper toolbox
you see this when javscript or css is not working correct
Untested
punto_flotante.1585108892.txt.gz · Última modificación: 2020/03/25 04:01 por charly