1 de septiembre de 2020

La computadora y los Números binarios

 El sistema binario maneja dos números, 0 y 1, los cuales representan dos condiciones; alto o bajo, activado o desactivado, y es posicional, es decir, que según la posición que ocupe dentro del arreglo es el peso o valor que representa, siendo el de mayor peso el MSB y el de menor peso LSB. En el ámbito de la computación cada dígito es llamado bit (binary digit). Como analogía podemos compararlo con un foco (bombilla eléctrica) controlada por un interruptor la cual solo tiene dos estados, encendido o apagado, es decir deja pasar la corriente o no. Por lo que en una computadora a nivel hardware en una forma muy básica, es un estado que permanece en algún componente, como un transistor que envía o no una señal (en el procesador y memorias cache), un condensador o capacitor cargado o no (en la RAM) o cualquier otro tipo de técnica según el dispositivo del que se trate (HDD, CD, SSD, etc.).

 

Debido a que un número binario puede ocupar un espacio muy grande (extremadamente largos), existen diferentes convenciones para manejarlos a nivel electrónico, como el BCD (Binary Coded Decimal), código Gray y código binario, básicamente su diferencia consiste en el tamaño del arreglo de bits. Actualmente acostumbramos el arreglo de 8 bits, es decir un byte para el almacenamiento y manejo de información. Aunque cabe aclarar que en una computadora se manejan diferentes tamaños de arreglos de bits, todos manejados a un nivel muy bajo (es decir a nivel de componentes).

 

Por ejemplo, en una computadora podemos tener 3 tipos de buses. Uno para el control o instrucciones de 6 bits. De direcciones de 17 bits. Y de información de 64 bits. Aunque esto depende la computadora, sus componentes y tecnología, por ejemplo, los procesadores gráficos más recientes utilizan arreglos más grandes. Sin olvidar considerar que también varia la forma en que se manejan internamente, por ejemplo, un equipo puede comenzar a leer desde el MSB hasta LSB, mientras que otro equipo puede leerlos de manera inversa, esto se conoce como Little endian y big endian.

 

Analizando el arreglo de ocho bits, o un byte

Peso

MSB

 

 

 

 

 

 

LSB

Posición

Valor equivalente en decimal

128

64

32

16

8

4

2

1


Ejemplos

Decimal

Binario

0

0

0

0

0

0

0

0

0

1

0

0

0

0

0

0

0

1

2

0

0

0

0

0

0

1

0

3

0

0

0

0

0

0

1

1

8

0

0

0

0

1

0

0

0

64

0

1

0

0

0

0

0

0

75

0

1

0

0

1

0

1

1

196

1

1

0

0

0

1

0

0

255

1

1

1

1

1

1

1

1


Podemos deducir que con un byte podemos representar 256 valores diferentes, de aquí se deriva el codigo ASCII, el cual asigna un símbolo a cada una de las combinaciones posibles.

 

Por otra parte, tenemos que una computadora trabaja básicamente realizando operaciones con bits, a una velocidad muy alta, con diferentes instrucciones como sumas, desplazamientos, comparaciones. Las cuales dependen del set de instrucciones del procesador, según su arquitectura y manejado a nivel ensamblador.

 

Por lo que para realizar operaciones más complejas se utilizan diversos “trucos” que combinan los arreglos y operaciones anteriores. Por ejemplo, la ALU (Unidad Aritmético Lógica) no resta números binarios, suma binarios negativos, con la conversión al negativo, es decir intercambia los ceros por unos y viceversa. Para realizar una resta, se hace una suma, con ayuda del complemento a dos: la resta de dos números binarios puede obtenerse sumando al minuendo el complemento a dos del sustraendo.

 

El lenguaje de programación C permite trabajar a nivel binario, y de las aplicaciones que se les suele dar es la creación de máscaras de bits. Sin olvidar considerar el desbordamiento de enteros en programación, el cual se produce cuando una operación aritmética intenta crear un valor numérico que está fuera del rango que puede representarse con un número dado de dígitos, ya sea mayor que el máximo o menor que el mínimo valor representable.

 

Conversiones

Por último, para realizar las conversiones de binario a decimal y viceversa, se pueden utilizar diversas técnicas manuales, sin olvidar prestar atención a como están agrupados los bits, con el objeto de comprender mejor el sistema numérico binario.

 

Utilizar una tabla de equivalencias

como la mostrada arriba.

La técnica llamada equivalencia de acuerdo a su posición, haciendo la suma ponderada de cada una de las posiciones de los numero basándonos en la tabla de conversiones.

 

Binario a decimal

El teorema fundamental de la numeración para la conversión, descomponiendo cada número; multiplicándolo por la base y elevándolo a la potencia según la posición que ocupe. Y finalmente sumando los productos para obtener el número en la base deseada.

 

Decimal a binario

Un método que consiste en ir realizando una iteración de divisiones iguales a la base, en este caso 2, hasta que el cociente sea menor a la base, donde se utilizarán los residuos para representar el número en binario, el cual estará representado al reagruparse de derecha a izquierda (en orden inverso).

 

No hay comentarios.: