Los sistemas de numeración y los números binarios

Versión para impresión

Los sistemas de numeración son símbolos y reglas para denotar cantidades  Muchas civilizaciones inventaron los suyos, por ejemplo, los romanos usaron la notación I, II, III, IV, .. etcétera.

En nuestros tiempos, el sistema de numeración que usamos cotidianamente se llama sistema de numeración posicional en base 10 (o simplemente sistema decimal).  Es decimal pues se usan diez símbolos (a saber  0, 1, 2, 3, 4, 5, 6, 7, 8, 9) y depende de la posición pues no es lo mismo 12 (uno dos) que 21 (dos uno).

* ** *** **** ***** *****
*
*****
**
*****
***
*****
****
*****
*****
1 2 3 4 5 6 7 18 9 10
                   
*****
*****
*
*****
*****
**
*****
*****
***
*****
*****
****
*****
*****
*****
*****
*****
*****
*
*****
*****
*****
**
*****
*****
*****
***
*****
*****
*****
****
*****
*****
*****
*****
11 12 13 14 15 16 17 18 19 20

¿Pero por qué usamos este sistema? ¿Y por qué se eligieron diez símbolos? Pues la respuesta está en la historia; el sistema decimal desciende de los números usados por los árabes.

Pero si nos vamos a la lógica matemática, no hay razón para usar exactamente diez símbolos; podríamos emplear cuantos quisiéramos y usar las reglas que queramos. Por ejemplo, los mayas usaron 3 símbolos y ponían símbolos arriba de otros.

Pero ya no tenemos que irnos al pasado para encontrar otros sistemas de numeración. En la actualidad, se emplea el sistema de numeración hexadecimal posicional (de dieciséis símbolos 0, 1, 2, …, 9, A, B, …, F ) para encriptar contraseñas o para denotar colores. ¿Sí los han visto no?

En decimal

En hexadecimal

Color

10, 354 714

9E001A

_______________

7, 556 367

734D0F

_______________

La relación al uso del sistema hexadecimal en los lenguajes computacionales tiene que ver en gran medida a que la información se guarda en bloques de potencia de dos ($2^n$). Y pues el 16 es una potencia de dos: $2^4$.

Pero el sistema de numeración que me parece más impresionante es el que tiene la menor cantidad de símbolos, el binario; con tan sólo dos símbolos (el 0 y el 1).

El sistema binario

El sistema binario es impresionante de entrada por tener tan pocos símbolos. Pues con sólo dos símbolos puedes escribir todos los números, incluyendo al cero. Pero además, aprovecha de la posición para reducir la cantidad de dígitos (como se hace en el sistema decimal).

Para los lectores que no estén familiarizados con el sistema binario, en la siguiente tabla se muestran los primeros diez números. Intenten descubrir el patrón de cómo se construyen estas representaciones y escribe los cinco números faltantes.

* ** *** **** ***** ****** ******* ********
1 10 11 100 101 110 111 1000
               
********
*
********
**
********
***
********
****
********
*****
********
******
********
*******
********
********
1001 1010            

Si lograron entender la sucesión, quedará evidente que podemos seguir este proceso indefinidamente, por lo que a cualquier cantidad (número) le podemos asociar su lista de unos y ceros; llamada notación binaria del número.

Una primera pregunta que podemos hacernos de la notación decimal es la siguiente, ¿qué cantidad representa la notación 100...00 (un uno con muchos)? Pues la respuesta es más o menos la misma que lo que ocurre en la notación decimal, vean la siguiente tabla.

Binario
10 2
100 $2 \times 2 = 2^2$
1000 $2 \times 2 \times 2 = 2^3$
10000 $2 ^4$
Decimal
10 10
100 $10 \times 10 = 10^2$
1000 $10^3$
10000 $10^4$

La simple existencia de esta notación y este parecido a la notación decimal puede parecer no muy motivante, pero tal vez la siguiente observación les resulte más impresionante.

Todo número entero es una potencia de dos o suma de potencias de dos. Por ejemplo, $6 = 2^1 + 2^2$.

Para ver esto, basta con observar que la notación de binaria se transforma a una suma de potencias de dos, por ejemplo, $$43 = (101011)_2 = 2^5 +0\times2^4 +1\times2^3 + 0\times2^2+ 1 \times 2^1 + 1\times2^0 \\ = 2^5 + 2^3+2^1  +2^0 = 32 + 8 + 2 +1$$

Esto es similar a lo que muchos hemos visto en las clases de primaria para el sistema decimal: $$ 1 235 =10^3+2\times 10^2 + 3 \times 10^1 + 5 \times 10^0 $$

Si aún no se sienten muy impresionados con el sistema binario, no se preocupen, es normal; no a todos nos da gusto acordarnos de la primaria.

Voy hacer el esfuerzo de hacérselos más interesantes, a continuación les presento unos contextos donde sin el sistema binario, no se podrían comprender tan fácilmente.


Los binarios y las monedas

El contexto que veremos es el de la elección de la denominación de las monedas.  Para hacerlo más interesante, se los dejo en forma de problema.

En un remoto país, tienen monedas de denominación distintas a las que usualmente conocemos (Por ejemplo, tienen una moneda de 32 pesos). Una maravilla de su sistema de monedas, es que una persona sólo necesita tener 8 monedas para pagar exactamente cualquier cantidad (sin centavos) desde 1 peso hasta 255 pesos, es decir, sin necesidad de que le den cambio, ¿de qué denominación son las 8 monedas?

¿Ya lo resolvieron? Bueno, si no lo han resuelto la respuesta está en lo que hemos visto, potencias de dos (1, 2, 4, 8, 16, 32 y 64 pesos). Y la justificación a esta respuesta está en lo que vimos sobre el sistema binario y sumas de potencias de dos.

En principio no parece tan práctico tener una moneda de 32 pesos. Pero veamos lo que pasa en nuestro sistema de monedas. Si nos dieran a escoger ocho monedas, no podríamos pagar muchas cantidades. Con 5 monedas y 3 billetes sólamente podríamos pagar desde  1 pesos hasta 110 pesos. Pueden ver la siguiente tabla, para la descripción detallada de las 8 monedas. Y les dejo de ejercicio verificar que podemos pagar de 1 hasta 110.

Cantidad 1 2 1 1 2 1
Denomincación $1 $2 $5 $10 $20 $50


Entonces, ciertamente nuestro sistema de denominaciones es más ineficiente que en aquel remoto país del problema. Pues en aquél, con las misma cantidad de ocho monedas, se pueden pagar más del doble de cantidades.

Pero la razón por la cuál no se usa el sistema de denominaciones de aquél lejano país, es que sería mucho más trabajoso saber con cuántas y con cuáles monedas pagar. Por ejemplo, intente pagar 90 pesos con las siguientes monedas:

Para que este conjunto de monedas fuera más natural y fácil de usar, es necesario que todos usaramos binario en lugar del decimal; escribieramos, nombráramos, operarámos los números en binarios de forma cotidiana. ¿Se imaginan? Hasta las tablas de multiplicar serían más fáciles: uno por cero, cero; uno por uno, uno; ¡y se acabó!.

Un truco de magia

Un mago le pide a la audiencia, que piensen un número del 1 al 15. Después le muestra las siguientes cuatro cartas y pregunta, “¿En cuál o cuáles cartas aparece el número que pensó?”

A

1       3        5        7
9      11      13     15

B

2       3       6        7

10     11     14     15

C

4       5       6       7
12     13     14     15

D

8      9      10      11
12    13     14      15

Una vez indicadas las cartas, el mago inmediatamente dice cuál es el número. 

Ell truco del mago es sumar los primeros números de cada carta elegida por la persona. Por ejemplo, si la persona pensó “13”, entonces indica al mago que  su número está en las cartas A, C y D. Entonces, el mago suma 1 + 4 +8 =13 para saber cuál es el número.

Les dejo como ejercicio averiguar la relación de este truco, con el sistema de numeración binario y las potencias de dos.

Una observación más avanzada

Pues ya vimos que todo número se escribe como sumas de potencias de 2, pero qué pasará si en lugar de 2 ponemos -2. ¿Todo número se escribirá como sumas de potencias de -2?

La respuesta es que sí e inesperadamente esto incluye a los negativos. Todo número entero (incluyendo negativos) se podrá escribir de forma única como suma de potencias de -2.

La prueba formalmente tendría que hacerse con el uso de inducción matemática, pero para no espantar a los novatos, sólo escribo los primeros casos, los expertos podrán hacer la formalización si quieren.

  • Paso -1: El número 0 no se podrá construir como sumas de potencias de -2. Así que para poder construir todos, será necesario incluirlo a la lista de generadores, es decir, vamos a generar todos los enteros usando el 0, 1, -2, 4, -8, 16, -32, …
  • Paso 0: La potencia cero no da $(-2 )^0=1$, por lo que podemos generar ahora sólamente el 0 y el 1.
  • Paso 1: La potencia uno, es el -2. Por lo que podemos generar, el 1, -2 y el 1+(-2)=-1, Es decir, podemos obtener desde el -2 hasta al 1 como suma de 1 y -2 (y el cero).
  • Paso 2: (-2)^2 =4. Entonces, el paso anterior podemos obtener del -2 al 1 (cuatro números), por si a esos números les sumamos 4, obtendremos cuatro números más: 2, 3, 4 y 5. Entonces, ahora podemos construir desde el -2 hasta el 5, en total 8 números.
  • Paso 3. (-2)^3 = -8. Al sumarle -8 a los ocho números del -2 al 5, obtendrémos otros nuevos 8 números; del -10 hasta el -3. En total, ahora podemos construir 16 números, del -10 hasta el 5.

Y así sucesivamente. podremos construir un intervalo de números enteros que tiene tamaño $2^n$. Y el número que vamos a sumar será $(-2)^n$, así que duplicaremos la cantidad de números que se pueden generar como potencias de -2. Y dependiendo del signo de $(-2)^n$ el intervalo crece hacia los negativos o hacia los positivos.




Imagen de jmd

La "observación más avanzada"

La "observación más avanzada" es un resultado inédito. ¿Es así Jesús? (Es, por decir lo menos, un resultado inesperado.) Gracias Jesús. ¡Excelente composición! 

PD: Por lo demás, la relación de los sistemas de numeración con la magia es una atractiva puerta de entrada para su estudio.

Imagen de jesus

Muchas gracias, La

Muchas gracias,

La "observación más avanzada" la descubrí hace poco, pero no sé si aparezca en algún otro lugar.

Creo también que en una clase se podrían obtener resutados interesantes si se usar el problema del truco de magia.

Por otro lado, tengo otra par de observaciones sobre la base tres, que voy a guardar para la segunda parte de esta publicación.

Saludos