(P) Hugo Napoli, 2015
Numeración binaria.
La numeración binaria puede tener
únicamente 2 estados (0 y 1), a diferencia de la númeración octal
que tiene 8 (0, 1, 2, 3, 4, 5, 6 y 7), la decimal que tiene 10 (0, 1,
2, 3, 4, 5, 6, 7, 8 y 9) y de la hexadecimal que tiene 16 (los 10
decimales para representar los números que van desde el 0 hasta el
nueve, mas la A para el 10, la B para el 11, la C para el 12, la D
para el 13, la E para el 14, y la F para el 15).
Entonces, podemos observar los
siguientes casos:
- que la cifra 10 (hexadecimal) corresponde al número 16 (decimal),
- que la cifra 20 (octal), corresponde al número 16 (decimal),
- que la cifra 10000 (binaria), también corresponde al número 16 (decimal).
¿Por qué, tanto el 10 en hexadecimal,
como el 20 en octal, como el 10000 en binario, dan como resultado el
16 en decimal?
La explicación, se detalla a
continuación.
Contemos de 1 en 1 en hexadecimal,
hasta llegar al 16:
Hex
|
0
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
A
|
B
|
C
|
D
|
E
|
F
|
10
|
Dec
|
0
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
11
|
12
|
13
|
14
|
15
|
16
|
Hex
|
11
|
12
|
13
|
14
|
15
|
16
|
17
|
18
|
19
|
1A
|
1B
|
1C
|
1D
|
1E
|
1F
|
20
|
21
|
Dec
|
17
|
18
|
19
|
20
|
21
|
22
|
23
|
24
|
25
|
26
|
27
|
28
|
29
|
30
|
31
|
32
|
33
|
Cuando en hexadecimal llegamos hasta la
F, ya no nos quedan más cifras para utilizar, entonces, tenemos que
empezar a repetir las cifras de nuevo pero en combinaciones diferentes (10 = 16, 11 = 17, 12 = 18, 13 = 19, etc.).
Ahora, hagámoslo en octal:
Oct
|
0
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
10
|
11
|
12
|
13
|
14
|
15
|
16
|
17
|
20
|
Dec
|
0
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
11
|
12
|
13
|
14
|
15
|
16
|
Por último, veamos cómo contar en
binario:
Bin
|
0
|
1
|
10
|
11
|
100
|
101
|
110
|
111
|
1000
|
1001
|
1010
|
1011
|
1100
|
1101
|
1110
|
1111
|
10000
|
Dec
|
0
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
11
|
12
|
13
|
14
|
15
|
16
|
Esto significa que tenemos varias
maneras de representar el número 16, según el sistema de numeración
(o base) que estemos utilizando.
Estamos tan acostumbrados a contar en
base decimal (o base 10), que nos cuesta comprender fácilmente este
complejo sistema.
Tenemos diez dedos en las manos; hemos
contado con los dedos desde niños y desde épocas inmemoriales.
¿Cómo podría ser fácil contar con 16 dedos? ¿Y con 8?
Pero... ¿podemos usar nuestros dedos
para contar en binario? Eso sí que se puede, y no es tan difícil.
Trabajaremos entonces con la numeración
binaria (o base 2) y haremos algunas operaciones con ella.
Veamos algunos aspectos básicos.
Recuerda que solo se pueden utilizan el cero y el uno. No existe el 2, ni el 3, ni las letras.
¡Solo el 0 y el 1 nos alcanzarán para contar desde el cero hasta el infinito!
- Empezaremos a contar desde el cero -como lo haríamos habitualmente-, y para representar este valor, tomamos justamente un cero.El cero, siempre es cero, sin importar si estamos hablando de numeración binaria, octal, decimal o hexadecimal.
- El número siguiente al cero, es el uno. Esto tampoco cambia, ni en binario, ni en octal, etc.
Ahora viene nuestro problema: si sólo
hay ceros y unos: ¿cómo será posible representar el 2? ¿Está
permitido hacer cuentas, como por ejemplo, 1+1 para representar el 2?
La respuesta es simple. Así como en el
sistema decimal (o base 10) que utilizamos a diario, no se representa
el 2 como “1+1”, en binario, esto tampoco está permitido.
Entonces, ¿cuál es la forma de
hacerlo?
Pues bien; como no existe el número 2,
pondremos “10”.
Observa la secuencia:
0000, 0001, 0010, 0011, 0100, 0101, 0110, 0111, ...
¿Qué observas?
¿Podrías seguir completando la secuencia?
¿Te das cuenta de que después del "111" sigue el "1000"? ¿Por qué?
¿Te das cuenta de que después del "111" sigue el "1000"? ¿Por qué?
¿Verdad que tiene lógica?
Ahora bien: contando de uno en uno,
hemos visto que el 2 es un 10, que el 5 es un 101, y así podríamos
seguir hasta aburrirnos, a ver hasta dónde llegamos, “traduciendo”
números binarios a decimales, pero, ¿y si quiero saber qué binario
le corresponde al 189? ¿Si quiero saber cómo se representa el 1563
en binario? ¿Cómo hago?
Existe una tabla de conversión que se
ajusta perfectamente a nuestras necesidades.
La he tomado de un manual de una
antigua Commodore 64, y lo aplico desde la pre adolescencia. Es una
de las tantas cosas que agradeceré siempre a mi viejo ordenador.
Dicho manual se llama “Commodore 64
user's guide”, primera edición del año 1982, octava tanda del año
1984, Editorial Commodore Business Machines, Inc.
Si eres curioso o nostálgico, puedes leerlo en línea aquí y aquí (gentileza de zimmers.net, de Bo Zimmerman).
Si eres curioso o nostálgico, puedes leerlo en línea aquí y aquí (gentileza de zimmers.net, de Bo Zimmerman).
Interpretemos este cuadro.
El mismo posee valores en su nivel
superior -el cual llamaremos “guía”-, los cuales comienzan desde
la derecha con el valor 1 y terminan con el 128, siendo cada uno de
ellos el doble del anterior.
Esta lista puede ser interminable. No
tiene por qué terminar en el valor 128.
Lo único que hay que respetar, es que
el valor siguiente al 128 -siempre hacia la izquierda-, sea el doble
de éste, y el siguiente, el doble de ese, y así sucesivamente.
Podemos construír una tabla bastante más
extensa que la del manual:
Una tabla así, tanto nos servirá para colocar un número binario en ella y ver con qué valor decimal se corresponde, como para calcular un número binario a partir de un decimal.
Veamos entonces cómo es que podemos realizar estas operaciones.
Binario a decimal.
Para saber qué resultado decimal nos dará una cifra binaria cualquiera, lo que debemos hacer es crear una tabla parecida o igual a cualquiera de las que figuran más arriba, teniendo en cuenta la longitud en cifras del número binario.
Por ejemplo, si tenemos el binario 100100100, precisamos una tabla que al menos nos permita 9 cifras.
Entonces, ¿hasta qué valor tengo que llegar en el renglón "guía"?
A continuación lo veremos.
Como el binario está compuesto por 9 dígitos (cifras), debemos reservar espacio para 9 casilleros, por lo tanto, empezaremos por el 1 (a la derecha), y terminaremos en el 256 (a la izquierda).
Una vez que hayamos establecido los valores de la guía, colocaremos debajo de ella y con atención, cada uno de los dígitos binarios en el mismo orden en el que los vamos leyendo.
Guía
|
256
|
128
|
64
|
32
|
16
|
8
|
4
|
2
|
1
|
Binario
|
1
|
0
|
0
|
1
|
0
|
0
|
1
|
0
|
0
|
Decimal
|
Luego de esto, y en el renglón de los decimales, iremos haciendo la multiplicación correspondiente.
Se multiplican los valores de la primera columna, y el resultado se coloca en el renglón de los decimales:
256 x 1 = 256
128 x 0 = 0
64 x 0 = 0
32 x 1 = 32
16 x 0 = 0
8 x 0 = 0
4 x 1 = 4
2 x 0 = 0
1 x 0 = 0
Y la tabla completa nos quedará así:
Guía
|
256
|
128
|
64
|
32
|
16
|
8
|
4
|
2
|
1
|
Binario
|
1
|
0
|
0
|
1
|
0
|
0
|
1
|
0
|
0
|
Decimal
|
256
|
0
|
0
|
32
|
0
|
0
|
4
|
0
|
0
|
Ahora, solamente hay que sumar los valores decimales, y tendremos nuestro resultado final.
256 + 0 + 0 + 32 + 0 + 0 + 4 + 0 + 0 = 256 + 32 + 4 = 292
¡Así que el número binario 100100100 es igual al decimal 292!
O, dicho de otro modo:
¡Cien millones cien mil cien = doscientos noventa y dos!
Esto puede parecer muy complicado o difícil, pero recuerda que hay que realizar varias operaciones, repitiendo el procedimiento una y otra vez, para que puedas recordar todos los pasos a seguir y no se te haga tan complicado el cálculo entre binarios y decimales y viceversa.
Decimal a binario.
Para pasar un número decimal a binario, también se puede utilizar la tabla, pero de un modo diferente.
Supongamos que tenemos el número 315 y queremos ver cómo se escribe en binario.
En primer lugar, tenemos que ver a qué cifra de la guía se acerca más nuestro número decimal.
Como sabemos, la guía empieza a la derecha por el 1, y termina en el infinito, siempre yendo hacia la izquierda y multiplicando por dos al valor anterior, por ejemplo:
Supongamos que tenemos el número 315 y queremos ver cómo se escribe en binario.
En primer lugar, tenemos que ver a qué cifra de la guía se acerca más nuestro número decimal.
Como sabemos, la guía empieza a la derecha por el 1, y termina en el infinito, siempre yendo hacia la izquierda y multiplicando por dos al valor anterior, por ejemplo:
a la derecha : el uno (esto siempre es así);
a la izquierda del uno : uno por dos = el dos;
a la izquierda del dos : dos por dos = el cuatro;
a la izquierda del cuatro: cuatro por dos = 8;
y así sucesivamente.
En este caso, hay que seguir multiplicando por 2 y poniendo valores cada vez más hacia la izquierda hasta pasar al 315. Veamos qué valor se aproxima más a esta cifra decimal:
512, 256, 128, 64, 32, 16, 8, 4, 2, 1
No hay valor que se aproxime demasiado: el 256 se queda corto, y el 512 se pasa. Pues bien, por ahora escojamos el 512. Siempre es mejor pasarse que quedarse corto... ¿o no?
Ahora, construyamos la tabla, poniendo en la guía los números que acabamos de ver.
Guía
|
512
|
256
|
128
|
64
|
32
|
16
|
8
|
4
|
2
|
1
|
Binario
|
||||||||||
Decimal
|
Ahora, pensemos de este modo para llenar el renglón binario de la tabla.
Al 512, ¿lo necesitamos?
No, porque se "pasa" del 315.
Entonces, debajo del 512, pondremos un cero.
Sigamos ahora con el siguiente valor, el 256.
Al 256, ¿lo necesitamos?
Sí, porque es más "pequeño" que el 315.
Entonces, debajo del 256, pondremos un uno.
Así iría quedando nuestra tabla:
Sigamos hasta llegar al final.
¡Nada más fácil!
¡Solo hay que escribir el número binario que está escrito en el renglón de la tabla. Observa:
Quitémosle el primer cero, porque el cero a la izquierda no vale nada:
Guía
|
512
|
256
|
128
|
64
|
32
|
16
|
8
|
4
|
2
|
1
|
Binario
|
0
|
1
|
||||||||
Decimal
|
Sigamos hasta llegar al final.
Al 128, ¿lo necesitamos?
Atención: como ya hemos "utilizado" al valor 256, de ahora en adelante, cada valor que tomemos, se sumará al anterior (o a los anteriores), de modo que tendremos que sumar 256 + 128 y ver si nos pasamos de 315 o si nos "quedamos cortos".256 + 128 = 384, por lo tanto, no necesito al 128 (nos "pasamos" de 315).
Entonces, debajo del 128, ¿qué pondremos? Un cero, ¡lógicamente!
Guía
|
512
|
256
|
128
|
64
|
32
|
16
|
8
|
4
|
2
|
1
|
Binario
|
0
|
1
|
0
|
|||||||
Decimal
|
Al 64, ¿lo necesitamos?
No, porque 256 + 64 = 320 (otra vez nos "pasamos" de 315).
Entonces, debajo del 64, pondremos un cero.
Guía
|
512
|
256
|
128
|
64
|
32
|
16
|
8
|
4
|
2
|
1
|
Binario
|
0
|
1
|
0
|
0
|
||||||
Decimal
|
Al 32, ¿lo necesitamos?
Sí, porque 256 + 32 = 288, y 288 es menor que 315.
Entonces, debajo del 32, ¿qué pondremos? ¡Al fin! ¡Un uno!
Guía
|
512
|
256
|
128
|
64
|
32
|
16
|
8
|
4
|
2
|
1
|
Binario
|
0
|
1
|
0
|
0
|
1
|
|||||
Decimal
|
Y así seguiremos, hasta alcanzar el resultado exacto: 315.
El 315 se forma con los números que hemos visto (256 + 32), mas otro (u otros) que van desde el 16 hasta el 1. Veamos cuáles son:
256 + 32 + 16 = 304. Perfecto. El 16, también nos sirve.
256 + 32 + 16 + 8 = 312. Excelente. El 8 también nos sirve.
256 + 32 + 16 + 8 + 4 = 316. ¡Oh, no! ¡No podemos tomar al 4! Entonces, ¿qué hacemos?
¡Ah, ya recuerdo! ¡Ponemos un cero debajo del 4 y seguimos!
El 315 se forma con los números que hemos visto (256 + 32), mas otro (u otros) que van desde el 16 hasta el 1. Veamos cuáles son:
256 + 32 + 16 = 304. Perfecto. El 16, también nos sirve.
256 + 32 + 16 + 8 = 312. Excelente. El 8 también nos sirve.
256 + 32 + 16 + 8 + 4 = 316. ¡Oh, no! ¡No podemos tomar al 4! Entonces, ¿qué hacemos?
¡Ah, ya recuerdo! ¡Ponemos un cero debajo del 4 y seguimos!
¿Cómo va quedando nuestra tabla?
¿Estás de acuerdo? ¿Todo va bien? ¡Sigamos!
Al 2, ¿lo necesitamos?
Veamos... 256 + 32 + 16 + 8 + 2... 314. Sí. Necesitamos al 2 porque aún no hemos llegado al 315.
Pondremos un uno bajo el 2 y continuaremos razonando...
¿Llegaremos al 315 o se nos terminará la tabla antes?
¡Ya queda poco!
¡En la tabla nos queda solo el 1! ¿Lo tomaremos o le pondremos un cero debajo?
Veamos... 256 + 32 + 16 + 8 + 2 + 1... ¡315! ¡Sí! ¡El uno nos sirve!
Pondremos un uno bajo el 1 y la tabla nos quedará así:
¿Qué observas?
Pues bien... ¿y entonces? ¿Cómo se escribe el 315 en binario?
Guía
|
512
|
256
|
128
|
64
|
32
|
16
|
8
|
4
|
2
|
1
|
Binario
|
0
|
1
|
0
|
0
|
1
|
1
|
1
|
0
|
||
Decimal
|
¿Estás de acuerdo? ¿Todo va bien? ¡Sigamos!
Al 2, ¿lo necesitamos?
Veamos... 256 + 32 + 16 + 8 + 2... 314. Sí. Necesitamos al 2 porque aún no hemos llegado al 315.
Pondremos un uno bajo el 2 y continuaremos razonando...
¿Llegaremos al 315 o se nos terminará la tabla antes?
¡Ya queda poco!
Guía
|
512
|
256
|
128
|
64
|
32
|
16
|
8
|
4
|
2
|
1
|
Binario
|
0
|
1
|
0
|
0
|
1
|
1
|
1
|
0
|
1
|
|
Decimal
|
¡En la tabla nos queda solo el 1! ¿Lo tomaremos o le pondremos un cero debajo?
Veamos... 256 + 32 + 16 + 8 + 2 + 1... ¡315! ¡Sí! ¡El uno nos sirve!
Pondremos un uno bajo el 1 y la tabla nos quedará así:
Guía
|
512
|
256
|
128
|
64
|
32
|
16
|
8
|
4
|
2
|
1
|
Binario
|
0
|
1
|
0
|
0
|
1
|
1
|
1
|
0
|
1
|
1
|
Decimal
|
0 +
|
256 +
|
0 +
|
0 +
|
32 +
|
16 +
|
8 +
|
0 +
|
2 +
|
1 =
|
¿Qué observas?
- Cuando hay un 0 en la celda binaria, el número de la guía que está por encima de éste, no vale nada.
- Cuando hay un 1 en la celda binaria, el número de la guía que está por encima de éste, conserva su valor.
¡Nada más fácil!
¡Solo hay que escribir el número binario que está escrito en el renglón de la tabla. Observa:
0100111011
Quitémosle el primer cero, porque el cero a la izquierda no vale nada:
100111011
¡Allí está!
¡El decimal 315, en binario es 100111011!
Si ya puedes pensar matemáticamente como lo hace una computadora...
¡...felicitaciones!
No hay comentarios.:
Publicar un comentario