Ceros y unos
Steve
hace 3 años
Tiempo de lectura: 5 minutos
Hector
Santiago Salama Camacho
2,217
ppm.
Nuestra noción de
modernidad se debe casi en su totalidad a la electricidad, pues ha sido el
manejo de esta lo que ha hecho posible, elementos que van desde poder encender
un foco activando un interruptor, hasta viajar en un coche que se maneja solo
sin la necesidad de presionar nada.
Y si bien podemos
suponer que algo tienen que ver las computadoras en todo esto, ¿cómo es posible
que las computadoras puedan hacer cosas así?, y ¿qué tiene que ver la
electricidad con ello? La respuesta está en el uso del sistema binario,
específicamente el código binario.
El sistema binario es un
método de numeración que consta de únicamente dos dígitos: 0 y 1 (por ello su
nombre), mientras que nosotros en el día a día y por regla general usamos el
sistema decimal que emplea 10 dígitos diferentes: 0, 1, 2, 3, 4, 5, 6, 7, 8 y
9; a partir del número diez en este sistema se empiezan a combinar únicamente
los símbolos antes mencionados, siendo para el caso del número diez la
combinación de un 1 y un 0, es decir que no tiene un símbolo propio.
La razón del porqué es el
sistema binario y no el sistema decimal, el lenguaje de las computadoras, se
debe a la necesidad de simplificar tanto como sea posible esa comunicación.
Antes que nada, dicha
comunicación comienza con la electricidad, pues esta no solo ingresa en el
sistema electrónico para permitirle funcionar, sino que al decir que el sistema
está en “funcionamiento”, esto significa que esa energía está viajando en ondas
electromagnéticas digitales (las cuales no son más que subidas y bajadas) a
través de los componentes y, por lo tanto, se le puede asignar un valor cuando
la onda sube y cuando la onda baja. El valor de las subidas será 1 (cierto) y
el valor de las bajadas será 0 (falso). Es así que el sistema binario responde
a la necesidad de ser la expresión matemática mínima que representa los únicos
dos estados que puede haber en una onda, pero al mismo tiempo es suficiente
para permitir el envío de datos.
Otra forma de entenderlo es
imaginar que la electricidad es agua y si el agua no fluye se tendría un valor
0 (apagado), mientras que si el agua fluye se tendría un valor 1 (encendido).
Siendo la combinación de estos ceros y unos lo que constituye un dato que el
procesador puede comenzar a interpretar.
De manera aún más
simple, esto quiere decir que los ceros y unos por sí mismos son apenas las
vocales y consonantes, aún no forman palabras ni mucho menos instrucciones.
Para ello se requiere de dos elementos indispensables: la codificación (de
símbolos, sonidos, colores, etc.); Y las puertas lógicas, es decir, filtros
para determinar el flujo de la información (en pocas palabras, es el armado de
las tuberías, siguiendo el último ejemplo), pero no se profundizará en estas
últimas.
Para poder construir un
mensaje es necesario considerar la estandarización que hizo IBM en la década de
los 60s, la cual consiste en agrupar los bites de 8 en 8 y considerar que cada
grupo de 8 bites equivalen a 1 byte. Esto lo hicieron con la intención de
controlar el costo de los procesadores (también conocidos como Central
Processing Unit o CPU por sus siglas). Por lo tanto, cuando un CPU recibe
múltiples mensajes, para saber en dónde empieza y termina cada uno realizará
entonces estas separaciones cada 8 bites y es, el conjunto de esos 8 bites (1
byte), suficiente para interpretar n
variables.
La pregunta natural y,
quizá, la más importante sería entonces ¿cómo se traducen las imágenes,
canciones y textos en código binario?
La respuesta se encuentra
en los sistemas de codificación. Un sistema de codificación no es más que un
traductor entre lo que se pretende interpretar y su valor en el código binario.
Hasta el momento, las computadoras son capaces de interpretar todo aquello que
sus dispositivos de salida y entrada le permitan; entendiéndose como dispositivos
de entrada aquellos que mandan información al CPU (tales como teclados y
ratones) y dispositivos de salida, aquellos que interpretarán la información
que mande el CPU (como monitores y bocinas) apoyándose sobre todo en otro tipo
de CPUs como las tarjetas de video (Graphics Processing Unit o GPU por sus
siglas) y tarjetas de sonido, que como sus nombres lo indican, se especializan
en ese tipo de información.
El código ASCII es el
que asigna un número a cada símbolo para que el CPU convierta ese número en un
valor binario y así saber qué se trata de texto. El símbolo “@” por ejemplo,
tiene asignado el número 64 en el código ASCII, lo cual en código binario sería
igual a 1000000.
EL código RGB (Red, Green,
Blue por sus siglas en inglés) es lo que podemos ver al acercarnos lo más
posible a un pixel. Cada píxel tendrá 3 colores (rojo, verde y azul) los cuales
van a variar en sus tonalidades según su valor numérico en Red, Green y Blue
respectivamente. Es decir que un pixel azul turquesa en código RGB sería 93 193
185, lo que traducido a código binario se vería como 1011101 11000001 10111001,
en ese orden.
Por último, en el
caso del audio y video es ligeramente diferente, ya que hay un software en cada
computadora que se encarga de codificar y decodificar los distintos formatos de
audio y vídeo (MP3, MP4, MPEG, etc.) convirtiendo código binario a ondas que
reproducirá la membrana de nuestra bocina (por ejemplo) o a secuencias de
cambio de color en los pixeles en el caso del vídeo (después de todo, los vídeos
no son más que muchas imágenes secuenciales sincronizadas con un audio).
Es así como se puede
entender que el mundo que nos rodea puede potencialmente representarse en
números y esos números traducirse a código binario, lo que significa que las
posibilidades en cuanto a lo que las computadoras son y serán capaces de hacer
aún son desconocidas o, cuando menos, inciertas. Especialmente considerando que
las computadoras son cada vez más reducidas de tamaño (en algunos casos
inclusive más potentes) y más común poderlas encontrar en dispositivos de todo
tipo que nos rodean (refrigeradores, lentes y por supuesto, automóviles).
Finalmente, si bien
el código binario es posible gracias a la electricidad, sin duda es el código
binario en sí lo que nos ha traído aquello que conocemos como “modernidad”
actualmente y esto sugiere, fuertemente, que aquello que creemos conocer puede
no ser más que ceros y unos.
Referencias:
Vega, F. [Freddy Vega].
(2018). Qué son bites y bytes [Archivo de Video]. Platzi. https://platzi.com/clases/1098-ingenieria/6549-que-son-bits-y-bytes/
Gentile, N. [Nate Gentile].
(22 de mayo de 2020). Sistema BINARIO y Puertas Lógicas: La BASE de cómo
funciona tu PC [Archivo de Video]. Youtube. https://www.youtube.com/watch?v=RVGIXfC4Xeg&t=510s