domingo, 11 de octubre de 2009

El sistema binario

Por Isaías Medina Ferreira

Las computadoras, como las conocemos hoy día, son posibles gracias al sistema binario.

La idea estructural completa de la computadora fue concebida a mitad del siglo 19 por el inglés Charles Babbage. Su gran idea, conocida como el motor analítico, era un complicado sistema de engranajes que constaba de los mismos módulos de que consta una computadora moderna: un subsistema de entrada, la parte procesadora (hoy conocida como el microprocesador o CPU), una parte para almacenar (como la memoria o los discos duros de hoy) y el subsistema de salida (que hoy son la pantalla o el impresor).

Sólo una porción muy pequeña del diseño de Babbage se pudo construir. Aparte de ser un aparato mecánico, el hecho de tener que trabajar con los diez dígitos del sistema denario o decimal (que es el sistema que los humanos utilizamos en nuestras transacciones diarias), complicaba enormemente su construcción. No fue hasta el siglo 20 cuando los avances tecnológicos permitieron la construcción de un computador, primero electromecánico y luego totalmente electrónico.

Uno de los avances que aceleró su desarrollo fue la creación del tubo al vacío en 1901, lo que dio origen a la electrónica. Otros dos acontecimientos memorables ocurrieron en 1937: la tesis del entonces estudiante de MIT Claude Shannon, que implementaba la aritmética binaria utilizando relés (relays) y conmutadores (switches), y el computador Model-K, hecho completamente con relés, de George Stibitz, de Bell Labs. Lo remarcable de los acontecimientos de 1937 es el uso de elementos activos como el relé que utilizaban sistemas binarios y el nacimiento de la llamada electrónica digital.

La importancia del nacimiento de la electrónica es la habilidad de permitir la fabricación de elementos binarios (switches) más rápidos, como fue primero el tubo al vacío, y después el transistor; y más tarde los circuitos integrados y, por último, los microprocesadores.

¿Qué es un sistema binario?

La respuesta corta es que un sistema binario es un switch o conmutador; o sea, un elemento que puede presentar una de dos posiciones opuestas en un determinado momento. Las posiciones de que hablamos son: encendido y apagado (como en el alumbrado de nuestros hogares); verdadero y falso (como en lógica); dos niveles distintos de voltajes (como en una linterna, 4.5V y 0V, o en un circuito integrado 5V (alto) y 0V (bajo)); esas dos posiciones, o niveles, se expresan matemáticamente como 1 ó 0, los cuales son llamados bits. BIT es una palabra construida con el comienzo y la terminación de BInary digiT; o sea, dígitos binarios. Por tanto, el sistema binario es una cadena de 1s y 0s con los que es posible expresar cualquier cantidad, de la misma manera que los humanos utilizamos el sistema decimal, que es una cadena de dígitos del 0 al 9.

El sistema decimal

La mejor forma de entender el sistema binario, es repasando nuestro sistema denario o decimal.

Comencemos por decir que tanto en el sistema decimal como en el binario, los dígitos usados tienen un valor que depende de su posición, o el lugar que ocupan, en un esquema que aumenta por un factor fijo determinado de derecha a izquierda. En el sistema decimal, ese factor es de diez (10), y en el sistema binario, ese valor es de dos (2).

Si, por ejemplo, escribimos 3,333 en decimal, aunque hemos escrito el mismo dígito 4 veces, lógicamente cada uno de esos 3 tiene un valor diferente que depende del lugar que ocupa.

Comenzando con 1 en la extrema derecha, sabemos que el valor de cada posición en decimal es igual a la posición anterior multiplicada por 10. Veamos:

10,000 x 101,000 x 10100 x 1010 x 101 x 10   1
100,00010,0001,00010010   1

Así, para encontrar el verdadero valor de cada dígito en una expresión tal como 3333, lo que hacemos es multiplicar cada 3 por su valor posicional y sumamos los valores obtenidos.
100010010  1
3 x 10003 x 1003 x 103 x 1
3000300303

La suma de 3000 + 300 + 30 + 3 es igual a 3,333, en este caso.

¿Cómo funciona el sistema binario?

El sistema binario, como hemos dicho, es también un sistema en que cada dígito tiene un valor único, dependiendo del lugar que ocupa. Comenzando con 1 en la extrema derecha, el valor de cada posición en binario es igual a la posición anterior multiplicada por 2. Veamos:
256 x 2128 x 264 x 232 x 216 x 28 x 24 x 22 x 21 x 2   1
512256128643216842   1

Ya dijimos que en el sistema binario sólo se utilizan dos dígitos, el 1 y el 0. Eso lo hace muy bueno para las computadoras, pero engorroso para los humanos, razón por la que por lo general para que un número binario haga sentido para nosotros, debemos convertirlo a decimal.

Para hacer esa conversión, todo lo que tenemos que hacer es, comenzando con 1 en la derecha, poner el valor correspondiente de cada posición que ocupa cada uno de los dígitos binarios. Veamos el número binario 11010110. Observe la tabla para ver el valor posicional correspondiente de cada dígito y su valor correspondiente en decimal. Note que sólo las posiciones de los números binarios 1 tienen un valor decimal correspondiente.
Valor por posición   128    64    32    16    8    4    2    1
Número binario   1    1    0    1    0    1    1    0
Valor decimal   128    64    0    16    0    4    2    0

El equivalente decimal de 11010110 se reduce simplemente a sumar el valor decimal correspondiente de los valores posicionales de los binarios 1; a saber, 128 + 64 + 16 + 4 + 2 es igual a 214 en decimal.

Practiquemos: ¿Cuál es el valor decimal de 1011?
Valor por posición   8    4    2    1
Número binario   1    0    1    1 
Valor decimal   8    0    2    1

O sea, 8 + 2 + 1 = 11

Vamos a contar en decimal del 0 al 15. A la derecha está su equivalente en binario.

Decimal


Binario

0
0000
1
0001
2
0010
3
0011
4
0100
5
0101
6
0110
7
0111
8
1000
9
1001
10
1010
11
1011
12
1100
13
1101
14
1110
15
1111

Existen otros sistemas de contar utilizados en computadoras, todos basados en múltiplos de dos, los cuales fueron creados primordialmente para asistir a los humanos: el Octal, de 8 dígitos (que es lo que llamamos un “byte”) y el Hexadecimal (o Hex), de 16 dígitos (utilizando los dígitos del 0 al 9 y las primeras seis letras del alfabeto, de A hasta F).

Pero no importa si trabajamos en octal o hexadecimal, las computadoras sólo entienden combinaciones de 0 y 1; y todo lo que se alimente a éstas debe ser traducido a binario (señales que ocupan una de dos posiciones, alta o baja) para que los circuitos puedan trabajar. Esas traducciones se hacen automáticamente, por supuesto. Por ejemplo: cada vez que pulsamos una tecla en el teclado de un computador, una combinación de 7 bits únicos son generados, el llamado sistema ASCII.

El sistema hexadecimal

La que sigue es una tabla comparativa de los sistemas decimal, binario y hexadecimal
DecimalBinarioHexadecimal
0
0000
0
1
0001
1
2
0010
2
3
0011
3
4
0100
4
5
0101
5
6
0110
6
7
0111
7
8
1000
8
9
1001
9
10
1010
A
11
1011
B
12
1100
C
13
1101
D
14
1110
E
15
1111
F

Ejemplo de un número en hexadecimal sería 1F, cuyo equivalente en binario sería 00011111 y en decimal 31.

No hay comentarios: