Los números que conocemos están escritos en base 10. Esto significa que
tenemos, desde el 0 hasta el 9, diez símbolos para representar cada cifra.
Es decir, cada cifra irá de 0 a 9, y al superar el valor "9", cambiará a 0 y
sumará uno a su cifra de la izquierda: 9+1: 10 .
El sistema binario en cambio utiliza tan sólo dos símbolos, el "0" y el "1". Imaginemos
que tenemos el número binario "0". Al sumarle una unidad, éste número binario
cambiará a "1". Sin embargo, si volvemos a añadirle otra unidad, éste número en
formato binario será el "10". Aumenta la cifra a la izquierda, que era 0, y la
anterior toma el valor mínimo.
Sumemos ahora otra unidad, el número será "11" (tres en decimal).
Y podríamos seguir:
Binario: 0, 1, 10, 11, 100, 101, 110, 111, 1000, 1001, 1010...
Decimal: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10...
Esto nos permite establecer un sistema bastante sencillo de conversión del
binario al decimal.
He aquí los valores siendo n el valor de la cifra:
Cifra menos significativa:
n*2^0 = 1 si n=1 o 0 si n=0
Segunda cifra:
n*2^1 = 2 si n=1 o 0 si n=0
Tercera cifra:
n*2^2 = 4 si n=1 o 0 si n=0
Cuarta cifra:
n*2^3 = 8 si n=1 o 0 si n=0
Etc...
Y así continuaríamos, aumentando el número al que se eleva 2. Traduzcamos
entonces el número binario '10110111'
2^7+ 0 +2^5+2^4+ 0 +2^2+2^1+2^0 = 128 + 0 + 32 + 16 + 4 + 2 + 1 = 183
1 0 1 1 0 1 1 1
De todos modos, ésta transformación la he puesto simplemente para que se
comprenda con más claridad cómo funcionan los números binarios. Es mucho más
aconsejable el uso de una calculadora científica que permita realizar
conversiones entre decimales, hexadecimales y binarios.
La razón del uso de los números binarios es sencilla: es lo que entiende el
ordenador, ya que interpreta diferencias de voltaje como activado (1) o
desactivado (0). Cada byte de información está compuesto por ocho dígitos
binarios, y a cada cifra se le llama bit. El número utilizado en el ejemplo, el
10110111, sería un byte, y cada una de
sus ocho cifras, un bit.
Y a partir de ahora, cuando escriba un número binario, lo haré con la notación
usual, con una "b" al final del número (Ej: 10010101b)
Ahora me paso al hexadecimal, un sistema de
numeración en base dieciséis. Por tanto, hay dieciséis símbolos para cada cifra,
y en vez de inventarse para ello nuevos símbolos, se decidió adoptar las
primeras letras del abecedario. Por lo tanto, tendremos ahora:
Hex Dec
1 --> 1
2 --> 2
3 --> 3
4 --> 4
5 --> 5
6 --> 6
7 --> 7
8 --> 8
9 --> 9
A --> 10
B --> 11
C --> 12
D --> 13
E --> 14
F --> 15
10 --> 16
11 --> 17
Etc...
Como vemos, éste sistema nos planteas bastantes problemas para la conversión.
Repito lo dicho, una calculadora científica nos será casi imprescindible para
esto.
¿Por qué utilizar éste sistema? Bien sencillo. Volvamos al byte, y traduzcamos su
valor más alto, "11111111". Resulta ser 256. Ahora pasemos ésta cifra al sistema hexadecimal, y nos resultará "FF". Obtenemos un número más comprensible que el
binario (difícil de recordar), y ante todo mucho más compacto, en el que dos
cifras nos representarán cada byte.
Podremos además traducir fácilmente el binario a hexadecimal con ésta tabla;
cada cuatro cifras binarias pueden traducirse al hexadecimal:
Binario --> Hexadecimal
0000 --> 0
0001 --> 1
0010 --> 2
0011 --> 3
0100 --> 4
0101 --> 5
0110 --> 6
0111 --> 7
1000 --> 8
1001 --> 9
1010 --> A
1011 --> B
1100 --> C
1101 --> D
1110 --> E
1111 --> F
Por ejemplo, el número binario:
1111001110101110
En hexadecimal sería:
1111 0011 1010 1110
F 3 A E
Para referirnos a un número hexadecimal sin especificarlo, usaremos la notación
que se suele usar al programar, con un 0 al principio (necesario cuando hay
letras) y una h al final, por ejemplo, el número anterior sería 0F3AEh. |