¿Cómo se guardan el menos y el 3.14?
Hasta ahora solo guardamos números enteros positivos como 0, 1, 2. Pero ¿cinco grados bajo cero, un saldo negativo, o 3.14? ¿Cómo se vuelven 0 y 1? Hay dos trucos ingeniosos.
Usa el primer interruptor como signo
La primera idea para los negativos es simple.
Toma un interruptor
y úsalo solo para el signo.
Si el primer espacio es 0, positivo,
si es 1, negativo.
El resto de los interruptores muestra el tamaño.
El primero es el signo, el resto es el tamaño.
Cambia solo el frente
y +5 se vuelve -5.
Simple, ¿no?
Pero esta forma tiene
un pequeño inconveniente.
Hay que manejar el signo aparte al calcular,
y hasta terminas con dos ceros:
cero positivo y cero negativo.
Gira los números para hacer negativos
Así que la forma que las computadoras usan de verdad
es un poco más ingeniosa.
Piensa en el cuentakilómetros de un auto.
Pasa uno de 9999
y vuelve a 0000.
Al revés, resta uno a 0
y salta al último número.
Con esto,
decidieron usar los números de arriba como negativos.
Los mismos bits, pero al girar una vuelta se vuelven negativos.
Este truco se llama complemento a dos.
Lo bueno es que,
aun sumando un negativo,
si lo sumas normalmente,
el circuito sumador da la respuesta correcta por sí solo.
No hace falta construir la resta aparte.
Por eso las computadoras eligieron esta forma.
El punto decimal flota
Ahora los decimales como 3.14.
El secreto está en el nombre.
El punto no es fijo,
flota.
Con los mismos dígitos,
dónde pones el punto
te deja mostrar números grandes y pequeños.
Prueba a mover el punto
en el número 314.
Mueve el punto y los mismos dígitos se vuelven otro valor.
El punto a la izquierda y se achica,
a la derecha y se agranda.
Como el punto flota así,
puedes guardar desde números muy grandes
hasta muy pequeños
de la misma manera.
Por eso se llama punto flotante,
un punto que flota.
Divídelo en signo, tamaño y posición
Entonces, ¿cómo guardas
un punto flotante en 0 y 1?
Divide los interruptores en tres partes.
El frente es el signo (el que acabamos de ver),
el medio es la posición del punto (qué tan grande),
el resto es el número real.
Guárdalo dividiendo los interruptores en tres zonas.
Con solo estas tres piezas
puedes escribir cualquier número con punto flotante
en 0 y 1.
Es la misma idea
que la notación científica.
Como dividir 3.14 en 0.314 por 10.
A veces la computadora no sabe 0.1 con exactitud
Déjame cerrar
con un dato curioso.
Pídele a una computadora 0.1 más 0.2,
y a veces no da exactamente 0.3.
Se desvía un poquito.
Porque 0.1
no se puede guardar
limpio en 0 y 1.
A nuestros ojos es 0.3, pero dentro de la computadora queda un error diminuto.
Igual que escribimos 1 dividido 3
como 0.3333... sin fin,
0.1 en el mundo de 0 y 1
es un número que sigue sin terminar.
Así que hay que cortarlo en algún punto,
y ahí aparece un error diminuto.
La computadora no se equivoca,
es un límite de guardar decimales en 0 y 1.