Herramientas de usuario

Herramientas del sitio


punto_flotante

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
punto_flotante [2020/03/25 04:27] – [Decodificar un número de Punto Flotante de precisión simple] charlypunto_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, sino que tiene una representación especial. 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, sino que tiene una representación especial.
  
-Por ejemplo el número no normalizado 101012 es igual al valor normalizado 1,0101 × 2<sup>4</sup>.+Por ejemplo el número no normalizado 10101 es igual al valor normalizado 1,0101 × 2<sup>4</sup>.
  
 Consideraremos mantisa solamente a los dígitos binarios de la parte fraccionaria del número normalizado, asumiendo que la parte entera siempre vale 1. Consideraremos mantisa solamente a los dígitos binarios de la parte fraccionaria del número normalizado, asumiendo que la parte entera siempre vale 1.
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,1<sub>2</sub>+534,5<sub>10</sub> = 1000010110,1<sub>2</sub>
   - 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,1<sub>2</sub> = 1,0000101101<sub>2</sub> × 2<sup>9</sup>. Notar que si efectuamos el producto obtendremos el número original.   - 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,1<sub>2</sub> = 1,0000101101<sub>2</sub> × 2<sup>9</sup>. Notar que si efectuamos el producto obtendremos el número original.
   - 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 137: Línea 137:
     >>> 0.1 + 0.1 + 0.1 == 0.3     >>> 0.1 + 0.1 + 0.1 == 0.3
     False     False
 +
 +{{youtube>W8GBE6sdVuQ?large}}
  
 Notar que la representación binaria de 0,1 requiere infinitos dígitos, por lo que el valor representado como ''0.1'' no es exactamente 0,1. Podemos ver la diferencia si mostramos el valor ''0.1'' con una cantidad grande de dígitos en la parte fraccionaria: Notar que la representación binaria de 0,1 requiere infinitos dígitos, por lo que el valor representado como ''0.1'' no es exactamente 0,1. Podemos ver la diferencia si mostramos el valor ''0.1'' con una cantidad grande de dígitos en la parte fraccionaria:
Línea 147: Línea 149:
 Además del error involucrado en la representación, cada operación de punto flotante introduce un error que es inevitable. Hay situaciones donde el orden en que se realicen las operaciones puede amplificar o disminuir el error. Por ejemplo restar dos números muy parecidos puede cancelar dígitos significativos magnificando el error. Además del error involucrado en la representación, cada operación de punto flotante introduce un error que es inevitable. Hay situaciones donde el orden en que se realicen las operaciones puede amplificar o disminuir el error. Por ejemplo restar dos números muy parecidos puede cancelar dígitos significativos magnificando el error.
  
 +
 +----
 +
 +{{youtube>eBkJilWMYvU?large}}
 +**Normalización  en decimal**
 +
 +----
 +
 +{{youtube>ijBLqXhq9RY?large}}
 +**Punto Flotante** 
  
 ==== Referencias ==== ==== Referencias ====
   * Tanenbaum - Apéndice B   * Tanenbaum - Apéndice B
 +
 + --- //[[charlylh@gmail.com|Carlos López Holtmann]]//
 +
 +~~NOCACHE~~
 +({{counter|total}})
  
  
× iphelper toolbox

you see this when javscript or css is not working correct

Untested
IP Address:
First usable:
Subnet:
Last usable:
CIDR:
Amount of usable:
Network address:
Reverse address:
Broadcast address:

punto_flotante.1585110439.txt.gz · Última modificación: 2020/03/25 04:27 (editor externo)