Hace 4 años | Por ccguy a evanw.github.io
Publicado hace 4 años por ccguy a evanw.github.io

Haz un clic en las celdas para conmutar los valores de los bits. Usa esto para desarrollar una intuición para el formato de coma flotante del IEEE.

Comentarios

Tribuno

#3 Lo he pillado a tercera, pero menuda pechada a reir que me he dado. lol lol lol

D

Brutal, simple y efectivo. Gracias! Lo bien que hubiera venido en la uni.

Vensier

Me parece que está otra le da mil vueltas:
https://www.h-schmidt.net/FloatConverter/IEEE754.html
Hay incluso un reto de codewars para programarlo:
https://www.codewars.com/kata/float-to-binary-conversion

D

Es simpática pero no explica cómo funcionan los números de punto flotante.

Los números reales son una variedad de la notación científica que conocemos en la escuela. Hay un número con varias cifras significativas y un exponente que indica que tanto se desplaza ese número a la derecha o a la izquierda, lo cuál se hace multiplicando el número por una potencia de 10.

En el sistema binario la representación es semejante a la notación científica de la escuela, solo que como es binario, el número se expresa en binario, y el exponente, que nos indica qué tanto se desplaza ese número a la derecha o a la izquierda, indica potencias de 2 en vez de potencias de 10 pues al multiplicar un número binario por potencias de 2, éste se desplaza a la derecha o a la izquierda.

Hay algunas diferencias adicionales con respecto a la notación científica de la escuela. El exponente se almacena con un desplazamiento (un offset), y el primer dígito de la parte significativa del número (llamada erróneamente "mantisa") no se almacena pues siempre es "1" (excepto cuando el número representado es cero). Adicionalmente hay un mecanismo de denormalización para cuando la parte significativa del número es muy pequeña en magnitud no caer abruptamente en el cero, sino perdiendo precisión poco a poco. También el redondeo es diferente. No se redondea sumando 0.5 al dígito menos significativo como hacemos nosotros, sino que es un poco más complejo.

Otra cosa adicional y muy importante es que los números reales no son realmente reales. Un real tiene infinita precisión, en el computador eso no existe, y pueden haber muchos problemas si no se entienden cómo funcionan y se utilizan sin cuidado.Por ejemplo, lLa propiedad conmutativa de los reales se comple, pero la propiedad distributiva no. Otro problema viene, por ejemplo, si se calcula numéricamente una integral, es un error usar potencias negativas de 10 para calcular los pequeños rectángulos del área bajo una función, pues las potencias negativas de 10 no se representan con exactitud. Es mucho mejor usar potencias negativas de 2.

m

Muy interesante, está bien para repasar los números en coma flotante.

D

Instructivo a pesar del odio que le tengo.

knzio

Funciona fatal (por lo menos desde chrome en android) a poco que te pongas a jugar con las potencias se le empieza a ir la olla cosa mala

Javi_B

Otro voto para vox