viernes, 6 de marzo de 2009

Conversión de números decimales a hexadecimales.

Hola a todos nuevamente a todos los que me visitan en mi blog de Yobo92. En esta ocasión, quiero compartir con ustedes este nuevo e interesante tema de los números hexadecimales.

Bueno, este sistema de numeración es en base 16 (el decimal es base 10, binario base 2, etc.) Aquí, en hexadecimal lo que se trata es de representar los primeros 16 números (incluyendo el cero) con un solo dígito. Pero, ¿cómo será posible esto si en el 10 ya son dos dígitos y el sistema es en base a 16? Bien, el número 9 es el último que se representará como un dígito númérico en este sistema, el 10 se representará con la letra A, el 11 con la letra B, y así sucesivamente hasta llegar a saber que 15 es igual a F. Haré una tablita con los valores hexadecimales para que puedan ver los números en decimal con sus respectivos valores hexadecimales:

0 = 0
1 = 1
2 = 2
3 = 3
4 = 4
5 = 5
6 = 6
7 = 7
8 = 8
9 = 9
10 = A
11 = B
12 = C
13 = D
14 = E
15 = F

(aunque el sistema, como dije anteriormente es base a 16, llego hasta 15, porque tomamos el cero en cuenta, entonces del cero al quince hay ya 16 valores)

Conversión de decimales a hexadecimales.

Bueno, este proceso es muy sencillo y muy parecido a la conversión de decimales a binarios que publiqué anteriormente. Utilizaremos el método de divisiones sucesivas entre 16, fijando nuestra atención sobre todo en los residuos, ya que de ahí saldrá nuestro número en hexadecimal.

En las divisiones, no usaremos decimales y dejaremos de dividir hasta que el dividendo sea menor que el divisor. Al terminar la operación, al igual que con los binarios, leeremos los residuos desde el último hasta el primero.

Haré un ejemplo con el valor 192.

192/16 = 12, con residuo 0
12/ 16 = 0, con residuo 12 (cuando el dividendo no se pueda dividir entre el divisor, el cociente automáticamente será 0 y el dividendo pasará a ser el residuo)

Como el último residuo es 12 (no se puede representar solamente con un dígito), entonces veremos su equivalente en hexadecimal en la tabla que mostré anteriormente (12 = C)

Resultado: 192 = C0


Otro ejemplo con el valor 1024.

1024/16 = 64, con residuo 0
64/16 = 4, con residuo 0
4/16 = 0, con residuo 4

Resultado: 1024 = 400


Un último ejemplo con el valor de 512.

512/16 = 32, con residuo 0
32/16 = 2, con residuo 0
2/16 = 0, con residuo 2

Resultado: 512 = 200

En estos dos últimos ejemplos, no fue necesario utilizar letras en la formación del valor debido a que los residuos no superaron a 9.


Veamos un ejemplo en donde sí se necesiten letras, hagámoslo con 43,185.

43185/16 = 2699, con residuo 1
2699/16 = 168, con residuo 11
168/16 = 10, con residuo 8
10/16 = 0, con residuo 10

Entonces, nos quedaría que: 43,185 = A8B1


Bueno, espero que esto haya quedado claro, para la próxima publicaré la conversión de hexadecimales a decimales, es muy similar a la conversión de binarios a decimales por cierto. Cualquier duda, consulta o sugerencia, será recibida con gusto.

Saludos.

lunes, 2 de marzo de 2009

Conversión de números decimales a binarios y viceversa

Hola a quienes visitan el blog de Yobo92. En esta ocasión compartiré con uds. este nuevo conocimiento que ha llegado hacia mí: la conversión al impresionante mundo binario de ceros y unos.

Bueno, para comenzar, el método que he aprendido es por medio de divisiones sucesivas. Consistirá en dividir el número en formato decimal que querramos convertir a binario entre dos, el cociente de dicha división se dividirá nuevamente entre dos, y así sucesivamente hasta que el dividendo llegue a ser igual a uno. Nosotros debemos de centrarnos en el resultado de los residuos, ya que darán ceros y unos, de ahí saldrá nuestro resultado.

Las divisiones inexactas automáticamente llevarán como residuo el número uno, y no escribiremos decimales (por ejemplo: 5/2= 2, con residuo 1). Podemos escribir decimales (si lo deseamos) solamente en la última división (por ejemplo: 1/2= 0.5, con residuo 1, ya que como dijimos anteriormente, con solo el hecho que sea inexacta la división el residuo será igual a uno) Al terminar la conversión, los residuos se leeran al revés, es decir, de abajo hacia arriba.


Haré un ejemplo paso a paso:

Convirtamos 40 a binario:

40/2= 20, CON RESIDUO = 0
20/2= 10, CON RESIDUO = 0
10/2= 5, CON RESIDUO = 0
5/2= 2, CON RESIDUO = 1 (Como expliqué anteriormente, no utilizamos decimales y el residuo será uno debido a que es inexacta)
2/2= 1, CON RESIDUO = 0
1/2= 0.5, CON RESIDUO = 1 (Este sería el final de la operación de conversión, ya que llegamos a que el dividendo es igual a uno)

Entonces, formaremos el número binario de esta manera:

Empezamos leyendo desde abajo hacia arriba, en este caso desde el residuo de 1/2 hasta el residuo de 40/2.

Nos quedaría entonces que 40 es igual a: 101000


Convertir de binario a decimal.

Este procedimiento, al igual que el anterior es muy sencillo. Aquí, de igual manera, debemos de escribir los números del valor binario al revés, es decir, el último dígito será el primero, y el primero será el último. (Espero que no haya resultado confuso :$)

Cada dígito lo multiplicaremos por dos elevado a potencias, comenzando por cero y se irá aumentando a uno, dos, tres... según el número de dígitos. La suma de los productos dará como resultado el número en sistema decimal. Haré un ejemplo detallado con 101000 (40).


Convirtamos 101000 a decimal:

000101 (Este sería el número escrito al revés)
Escribimos los números hacia abajo para facilitar nuestro trabajo:

0
0
0
1
0
1

Luego, procederemos a multiplicar cada dígito por dos elevado a potencias, comenzando por cero y en este caso, terminando con cinco.

0 x 2^0 = 0 +
0 x 2^1 = 0
0 x 2^2 = 0
1 x 2^3 = 8
0 x 2^4 = 0
1 x 2^5 = 32 =
-------------
Resultado = 40

Como ven, todo esto es sencillo, solamente son operaciones básicas de aritmética.

Espero haber dejado esto muy explicado, cualquier duda, consulta o sugerencia, favor postearla en el blog.