lunes, 4 de octubre de 2010

Sistema Hexadecimal, Octadecimal. Conversiones a decimal y binario

El sistema Hexadecimal (no confundir con sistema Sexagesimal), a veces abreviado como Hex, es el sistema de numeración de base 16 —empleando por tanto 16 símbolos—. Su uso actual está muy vinculado a la informática y ciencias de la computación, pues los computadores suelen utilizar el byte u octeto como unidad básica de memoria; y, debido a que un byte representa 28 valores posibles, y esto puede representarse como 2^8 = 2^4 \cdot 2^4 = 16 \cdot 16 = 1 \cdot 16^2 + 0 \cdot 16^1 + 0 \cdot 16^0, que, según el teorema general de la numeración posicional, equivale al número en base 16 10016, dos dígitos hexadecimales corresponden exactamente —permiten representar la misma línea de enteros— a un byte.

SISTEMA OCTAL:
El sistema numérico en base 8 se llama octal y utiliza los dígitos 0 a 7.
Por ejemplo, el número 74 (en decimal) es 1001010 (en binario), lo agruparíamos como 1 / 001 / 010, de tal forma que obtengamos una serie de números en binario de 3 dígitos cada uno (para fragmentar el número se comienza desde el primero por la derecha y se parte de 3 en 3), después obtenemos el número en decimal de cada uno de los números en binario obtenidos: 1=1, 001=1 y 010=2. De modo que el número decimal 74 en octal es 112.
Hay que hacer notar que antes de poder pasar un número a octal es necesario pasar por el binario. Para llegar al resultado de 74 en octal se sigue esta serie: decimal -> binario -> octal.
En informática, a veces se utiliza la numeración octal en vez de la hexadecimal. Tiene la ventaja de que no requiere utilizar otros símbolos diferentes de los dígitos. Sin embargo, para trabajar con bytes o conjuntos de ellos, asumiendo que un byte es una palabra de 8 bits, suele ser más cómodo el sistema hexadecimal, por cuanto todo byte así definido es completamente representable por dos dígitos hexadecimales.
Es posible que la numeración octal se usara en el pasado en lugar del decimal, por ejemplo, para contar los espacios interdigitales o los dedos distintos de los pulgares.

Conversión entre binario y decimal

Decimal a binario

Se divide el número del sistema decimal entre 2, cuyo resultado entero se vuelve a dividir entre 2, y así sucesivamente. Ordenados los restos, del último al primero, éste será el número binario que buscamos.
Ejemplo
Transformar el número decimal 131 en binario. El método es muy simple:
131 dividido entre 2 da 65 y el resto es igual a 1
 65 dividido entre 2 da 32 y el resto es igual a 1
 32 dividido entre 2 da 16 y el resto es igual a 0
 16 dividido entre 2 da 8  y el resto es igual a 0                   
  8 dividido entre 2 da 4  y el resto es igual a 0
  4 dividido entre 2 da 2  y el resto es igual a 0
  2 dividido entre 2 da 1  y el resto es igual a 0
  1 dividido entre 2 da 0  y el resto es igual a 1
              -> Ordenamos los restos, del último al primero: 10000011
En sistema binario, 131 se escribe 10000011
Ejemplo
Transformar el número decimal 100 en binario.
Conversion.JPG
Otra forma de conversión consiste en un método parecido a la factorización en números primos. Es relativamente fácil dividir cualquier número entre 2. Este método consiste también en divisiones sucesivas. Dependiendo de si el número es par o impar, colocaremos un cero o un uno en la columna de la derecha. Si es impar, le restaremos uno y seguiremos dividiendo entre dos, hasta llegar a 1. Después sólo nos queda tomar el último resultado de la columna izquierda (que siempre será 1) y todos los de la columna de la derecha y ordenar los dígitos de abajo a arriba.
Ejemplo
100|0
 50|0
 25|1   --> 1, 25-1=24 y seguimos dividiendo por 2
 12|0
  6|0
  3|1
  1|1   -->  (100)10 = (1100100)2 
Existe un último método denominado de distribución. Consiste en distribuir los unos necesarios entre las potencias sucesivas de 2 de modo que su suma resulte ser el número decimal a convertir. Sea por ejemplo el número 151, para el que se necesitarán las 8 primeras potencias de 2, ya que la siguiente, 28=256, es superior al número a convertir. Se comienza poniendo un 1 en 128, por lo que aún faltarán 23, 151 - 128 = 23, para llegar al 151. Este valor se conseguirá distribuyendo unos entre las potencias cuya suma dé el resultado buscado y poniendo ceros en el resto. En el ejemplo resultan ser las potencias 4, 2, 1 y 0, esto es, 16, 4, 2 y 1, respectivamente.
Ejemplo
20=   1|1
  21=   2|1
  22=   4|1
  23=   8|0
  24=  16|1
  25=  32|0
  26=  64|0
  27= 128|1           128 + 16 + 4 + 2 + 1 = (151)10 = (10010111)2


Conversión entre binario y hexadecimal

Binario a hexadecimal

Para realizar la conversión de binario a hexadecimal, realice lo siguiente:
1) Agrupe la cantidad binaria en grupos de 4 en 4 iniciando por el lado derecho. Si al terminar de agrupar no completa 4 dígitos, entonces agregue ceros a la izquierda.
2) Posteriormente vea el valor que corresponde de acuerdo a la tabla:

Número en binario0000000100100011010001010110011110001001101010111100110111101111
Número en hexadecimal0123456789ABCDEF

3) La cantidad correspondiente en hexadecimal se agrupa de derecha a izquierda.
Ejemplos
  • 110111010 (binario) = 1BA (hexadecimal). Proceso:
1010 = A
1011 = B
1 entonces agregue 0001 = 1
Agrupe de derecha a izquierda: 1BA
  • 11011110101 (binario) = 6F5 (hexadecimal). Proceso:
0101 = 5
1111 = F
110 entonces agregue 0110 = 6
Agrupe de derecha a izquierda: 6F5

 Hexadecimal a binario

Note que para pasar de Hexadecimal a binario, sólo que se remplaza por el equivalente de 4 bits, de forma similar a como se hace de octal a binario.

No hay comentarios:

Publicar un comentario