Todos sabemos que todo archivo digital, no es más que un puñado gigantesco de “ceros” y “unos” que el computador convierte para que podamos entender.
Si se ponen a pensar, bastante amable el PC, ya que se toma la molestia en traducir todos esos códigos binarios que él almacena, y mostrarlos de una manera amigable para las personas.
Es por esto que hoy nosotros nos tomaremos la molestia de ver cómo traduce el computador.
Pero primero aclaremos algo…
¿Qué son los números binarios?
Los números binarios, constituyen un sistema de numeración que consta sólo de dos posibles valores: 0 o 1, lo que puede representar verdadero o falso, encendido o apagado, sí o no, Capitán América o Iron Man, etc. Este sistema binario, no es exclusivo para los computadores, es más, fue inventado hace muchos siglos atrás.
No fue hasta 1841, que (San) George Boole -Padre de Todos nosotros los Nerds-, incluyó el sistema binario dentro de una estructura algebraica que más tarde fue conocida como “Álgebra Booleana”, la cual sienta las bases para la informática y matemática de hoy en día.
¡Dios Salve George Boole!
¿Cómo funciona el sistema binario?
Asumo que más de alguna vez has visto este tipo de chiste geek.
Para entender bien ese “once”, veamos los siguiente:
El sistema decimal (base 10) es el que todos ocupamos diariamente, entonces el número 532; podríamos descomponerlo como:
500 + 30 + 2= 5 x 102 + 3 x 101 + 2 x 100
En cambio, el sistema binario es en base 2, por lo que 11 (en binario) se descompone como:
1 x 21 + 1 x 20 = 2 + 1 = 3
Otro ejemplo mucho más completo
En esta imagen podemos ver un archivo de texto que acabo de crear, tenemos su contenido y también que su tamaño es de 9Bytes.
Con una simple aplicación, pude obtener la información que se genera a partir de este archivo. Esto es lo que se guarda dentro del disco duro:
01011000 01100010 01100101 01110010 01110100 01101111 00110101 00111001 00110100
Parece una serie de números incompresibles, pero en realidad es mucho más fácil de entender.
Primero: Los archivos de texto están formados por “caracteres”, es decir, todo lo que puedas teclear.
Segundo: Cada carácter ocupa 8bits de información = 1 byte.
Por lo tanto, como la palabra “Xberto594” tiene 9 caracteres y cada carácter es 1 byte, necesitamos 9 bytes de información, los mismos bytes que son reflejados en la imagen de más arriba.
Ahora volvamos a la serie de números incomprensibles que se nos entregaron, pueden notar que están concentrados en grupos de 8bits (1byte). Intentemos traducirlos:
01011000 01100010 01100101 01110010 01110100 01101111 00110101 00111001 00110100
Ordenémoslos de manera descendente:
01011000 = 0×27 + 1×26 + 0×25 + 1×24 + 1×23 + 0×22 + 0×21 + 0×20 = 88
01100010 = 0×27 + 1×26 + 1×25 + 0×24 + 0×23 + 0×22 + 1×21 + 0×20 = 98
01100101 = 0×27 + 1×26 + 1×25 + 0×24 + 0×23 + 1×22 + 0×21 + 1×20 = 101
01110010 = 0×27 + 1×26 + 1×25 + 1×24 + 0×23 + 0×22 + 1×21 + 0×20 = 114
01110100 = 0×27 + 1×26 + 1×25 + 1×24 + 0×23 + 1×22 + 0×21 + 0×20 = 116
01101111 = 0×27 + 1×26 + 1×25 + 0×24 + 1×23 + 1×22 + 1×21 + 1×20 = 111
00110101 = 0×27 + 0×26 + 1×25 + 1×24 + 0×23 + 1×22 + 0×21 + 1×20 = 53
00111001 = 0×27 + 0×26 + 1×25 + 1×24 + 1×23 + 0×22 + 0×21 + 1×20 = 57
00110100 = 0×27 + 0×26 + 1×25 + 1×24 + 0×23 + 1×22 + 0×21 + 0×20 = 52
Nos genera un resultado de:
88 98 101 114 116 111 53 57 52
¿Qué hago con estos números?
Como este archivo se abre con un editor de texto como Block de Notas, el software intentará transformar todos estos números en caracteres. Para esto se basa en “La Tabla ASCII”, que es un código de caracteres basado en el alfabeto latino. He aquí una parte de la tabla:
Vemos de inmediato que el primer número (88), corresponde a una “X”, y así continúas hasta reconstruir la frase completa.
Todo este proceso, al hacerlo manual es una verdadera lata, pero tu computador, celular o Tablet lo hacen por ti cada instante, y como verás no es ninguna ciencia.
Saludos, shiquillos.