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 |
8° |
7° |
6° |
5° |
4° |
3° |
2° |
1° |
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.:
Publicar un comentario