Cómo guarda una computadora números negativos
Hasta ahora solo hemos guardado números enteros positivos como 0, 1 y 2. Entonces, ¿cómo se guardan en 0 y 1 cosas como 5 grados bajo cero, un saldo negativo o 3,14? Hay dos trucos ingeniosos.
Usar el primer interruptor como signo
La primera idea para los números negativos es sencilla.
Se reserva un interruptor solo para el signo.
Si la primera posición es 0, el número es positivo; si es 1, es negativo; y el resto de los interruptores indica el tamaño.
La primera casilla es el signo; las demás indican el tamaño.
Si cambias solo la primera casilla, +5 se convierte en -5.
Es sencillo, pero incómodo.
Hay que vigilar el signo aparte en cada cálculo, y encima aparecen dos ceros.
+0 y -0.
Dar la vuelta para obtener negativos
Por eso el método que usan de verdad las computadoras es algo más ingenioso.
Piensa en el cuentakilómetros de un auto.
Si avanzas 1 desde 9999, vuelve a 0000.
Y si retrocedes 1 desde 0, da la vuelta hasta el último número.
Aprovechando eso, se decidió que los números del final representaran los negativos.
Los mismos bits, al dar la vuelta, se leen como un número negativo.
Este método se llama complemento a dos.
Lo bueno es que, para sumar un número negativo, el circuito sumador simplemente suma como siempre y aun así obtiene la respuesta correcta.
No hace falta un circuito aparte para restar, y por eso las computadoras eligieron este método.
La coma decimal flota
Ahora vamos con los decimales como 3,14.
El secreto está en el nombre: la coma no se queda fija en un lugar, sino que flota.
Con las mismas cifras, según dónde pongas la coma obtienes un número grande o uno pequeño.
Abajo puedes mover la coma entre las cifras de 314.
Mueve la coma y las mismas cifras toman otro valor.
Si la coma va a la izquierda, el número se hace más pequeño; si va a la derecha, más grande.
Como la coma flota así, se pueden guardar del mismo modo desde números enormes hasta números diminutos.
Por eso se llama coma flotante.
Dividirlo en signo, posición de la coma y cifras
¿Y cómo se guarda una coma flotante en 0 y 1?
Los interruptores se dividen en tres partes.
Primero va el signo que ya viste, luego la posición de la coma (lo grande que es el número), y el resto guarda las cifras reales.
Los interruptores se reparten en tres zonas.
Con solo estas tres piezas puedes escribir en 0 y 1 cualquier número, esté donde esté su coma.
Es la misma idea que la notación científica que se usa en ciencias.
Es como descomponer 3,14 en 0,314 por 10.
Cuando la computadora no puede guardar 0,1 exactamente
Terminemos con un dato curioso.
Si le pides a una computadora que sume 0,1 y 0,2, a veces no obtienes exactamente 0,3.
Se desvía un poquito, porque 0,1 no se puede guardar de forma exacta con 0 y 1.
Para nosotros es 0,3, pero dentro de la computadora queda un error diminuto.
Si escribes 1 dividido entre 3 en decimal, obtienes 0,3333..., que sigue sin fin.
En el mundo de los 0 y 1, 0,1 también es un número que sigue sin fin.
Así que hay que cortarlo en algún punto, y de ahí sale el error diminuto.
La computadora no se equivoca; es un límite de guardar decimales con 0 y 1.