en 3º de bup, allá por 1994, el profesor de religión nos
mandó hacer una exposición oral sobre no recuerdo qué tema. teníamos que grabarla en una cinta y
entregársela, poniendo en la etiqueta nuestro nombre y apellidos.
intenté varias veces soltar mi rollo con fluidez, pero lo
dejé por imposible y lo grabé como salió. es difícil hablar con una máquina con
naturalidad. es como cuando dejas un mensaje en un contestador...
el profesor nos devolvió nuestras cintas con la calificación
escrita en la etiqueta. hasta ahí normal, si no fuera porque las escribió en
código binario, nunca supe a cuento de qué. ese profesor era muy excéntrico. a mí me
puso un 1000, que en binario equivale a un 8.
en nuestra vida diaria empleamos el sistema de numeración en
base 10. los números los expresamos como suma de potencias de 10: 100=1, 101=10, 102=100, 103=1.000, 104=10.000 ...
pongamos como ejemplo el número del año en que vivimos,
2016. su cifra más alta corresponde a las unidades de millar. tenemos que
analizar cuántas unidades de millar (103), centenas (102),
decenas (101) y unidades (100) contiene.
2016 abarca 2 unidades de millar, 0 centenas, 1 decena y 6 unidades. lo podríamos expresar como:
2·103 +
0·102 + 1·101+ 6·100.
como vemos, los dígitos de un número en base 10 son las
veces que contiene cada una de las potencias de 10. pues bien, en el código
binario -que es el sistema de numeración en base 2- tendremos que hacer algo
análogo, pero con las potencias de 2.
20=1, 21=2, 22=4, 23=8, 24=16, 25=32, 26=64, 27=128, 28=256, 29=512, 210=1024, 211=2048, 212=4096 ...
como veis, las potencias de 2 crecen significativamente más despacio que las
potencias de 10, y por eso los números en binario tienen muchos más dígitos que
en decimal.
volvamos al ejemplo del número que representa nuestro año,
2016. cuál es la máxima potencia de 2 que sea menor o igual que 2016? 1024, es
decir 210. ya sabemos que 2016 en binario tendrá 11 dígitos -la
potencia más alta +1, ya que la potencia de exponente cero también cuenta-.
restamos 2016–1024, que da como resultado 992. sobre este número
aplicaremos un proceso análogo: cuál es la máxima potencia de 2 que sea menor o
igual que 992? 512, que es igual a 29.
992–512 = 480. de nuevo la misma pregunta: cuál es la máxima potencia
de 2 que “quepa” dentro de 480? 256, o lo que es lo mismo 28.
480–256 =
224. y cuál es la máxima potencia de 2 que quepa dentro de 224? 128, igual a 27.
224–128 = 96. cuál es
la máxima potencia de 2 abarcable dentro de 96? 64, es decir 26.
96–64 = 32. hemos tenido
suerte, porque 32 es una potencia de 2, concretamente 25. eso quiere
decir que ya no tenemos que continuar iterando, ya que el resto de las cifras
serán ceros.
recapitulemos: 2016 se expresará como suma de potencias de 2 de la siguiente manera:
1·210
+ 1·29 + 1·28 + 1·27 + 1·26
+ 1·25 + 0·24 + 0·23 + 0·22
+ 0·21 + 0·20.
los coeficientes que multiplican a las potencias de 2 serán
los dígitos en código binario. en nuestro ejemplo, 2016 en binario quedará así:
11111100000.
el código binario se denomina así porque las cifras sólo
pueden tomar dos valores posibles -el prefijo ‘bi’ significa dos-: 1 y 0. y es
lógico, porque al expresar los números como combinación de potencias de 2, si
alguna de ellas la multiplicáramos por 2 ya estaríamos en la potencia
siguiente. cada potencia de 2, o está una vez (1) o no está (0).
y dicho código binario es el lenguaje empleado en todas las
aplicaciones de electrónica digital y de informática...
os dejo con una tabla de los números del 1 al 40 -el 40 para
mí es un número muy especial- traducidos de decimal a binario. además he añadido el desarrollo de cada uno de ellos, para que se entienda de dónde vienen esas ristras de ceros y unos.
0........0......................................0·20
1........1......................................1·20
2.......10...............................1·21 + 0·20
3.......11...............................1·21 + 1·20
4......100........................1·22 + 0·21 + 0·20
5......101........................1·22 + 0·21 + 1·20
6......110........................1·22 + 1·21 + 0·20
7......111........................1·22 + 1·21 + 1·20
8.....1000.................1·23 + 0·22 + 0·21
+ 0·20
9.....1001.................1·23 + 0·22 + 0·21
+ 1·20
10.....1010.................1·23 + 0·22 + 1·21
+ 0·20
11.....1011.................1·23 + 0·22 + 1·21
+ 1·20
12.....1100.................1·23 + 1·22 + 0·21
+ 0·20
13.....1101.................1·23 + 1·22 + 0·21
+ 1·20
14.....1110.................1·23 + 1·22 + 1·21
+ 0·20
15.....1111.................1·23 + 1·22 + 1·21
+ 1·20
16....10000..........1·24 + 0·23 + 0·22
+ 0·21 + 0·20
17....10001..........1·24 + 0·23 + 0·22
+ 0·21 + 1·20
18....10010..........1·24 + 0·23 + 0·22
+ 1·21 + 0·20
19....10011..........1·24 + 0·23 + 0·22
+ 1·21 + 1·20
20....10100..........1·24 + 0·23 + 1·22
+ 0·21 + 0·20
21....10101..........1·24 + 0·23 + 1·22
+ 0·21 + 1·20
22....10110..........1·24 + 0·23 + 1·22
+ 1·21 + 0·20
23....10111..........1·24 + 0·23 + 1·22
+ 1·21 + 1·20
24....11000..........1·24 + 1·23 + 0·22
+ 0·21 + 0·20
25....11001..........1·24 + 1·23 + 0·22
+ 0·21 + 1·20
26....11010..........1·24 + 1·23 + 0·22
+ 1·21 + 0·20
27....11011..........1·24 + 1·23 + 0·22
+ 1·21 + 1·20
28....11100..........1·24 + 1·23 + 1·22
+ 0·21 + 0·20
29....11101..........1·24 + 1·23 + 1·22
+ 0·21 + 1·20
30....11110..........1·24 + 1·23 + 1·22
+ 1·21 + 0·20
31....11111..........1·24 + 1·23 + 1·22
+ 1·21 + 1·20
32...100000...1·25 + 0·24 + 0·23
+ 0·22 + 0·21 + 0·20
33...100001...1·25 + 0·24 + 0·23
+ 0·22 + 0·21 + 1·20
34...100010...1·25 + 0·24 + 0·23
+ 0·22 + 1·21 + 0·20
35...100011...1·25 + 0·24 + 0·23
+ 0·22 + 1·21 + 1·20
36...100100...1·25 + 0·24 + 0·23
+ 1·22 + 0·21 + 0·20
37...100101...1·25 + 0·24 + 0·23
+ 1·22 + 0·21 + 1·20
38...100110...1·25 + 0·24 + 0·23
+ 1·22 + 1·21 + 0·20
39...100111...1·25 + 0·24 + 0·23
+ 1·22 + 1·21 + 1·20
40...101000...1·25 + 0·24 + 1·23 + 0·22 + 0·21
+ 0·20