Friday, August 8, 2014

Conversión entre Sistemas Numéricos

Conversión entre Sistemas Numéricos
 

Los sistemas numéricos nos sirven para tener un manejo pleno de los puertos de control de los microcontroladores, a lo largo de todo el curso se verá la importancia de saber pasar de un sistema numérico a otro.

En el siguiente vídeo que tengo subido en mi canal de Youtube, les explico algo sobre las conversiones de la manera mas sencilla entre los tres principales sistemas (Binario, decimal y hexadecimal).



Enlace de mi canal de Youtube: https://www.youtube.com/user/TutorialAtmelUC/




_________________________
Conversión Decimal-›Binario

Para la conversión de un número decimal a binario se puede utilizar el método de divisiones sucesivas entre 2, el residuo es el valor del bit que se agregara al resultado final. A continuación veremos un ejemplo con el cual podemos entender la facilidad de la conversión entre estos dos sistemas.

Ejemplo: Convertir el número 124510 a binario2.



Entendiendo el dibujo de la parte de arriba tenemos que:

124510 = 100110111012         o    124510 = 0b10011011101

NOTA: Un número binario se puede expresar con el subíndice 2 (Sistema base 2) o con el índice 0b. Al expresar un número como 0b en alguna IDE, inmediatamente el compilador comprenderá que se trata de un número binario.




____________________________
Conversión Decimal-›Hexadecimal

Para convertir un número decimal (base 10) a un número hexadecimal (base 16), se utiliza el mismo método que para la conversión Decimal‹-›Binario, pero para este caso el divisor será 16. Recordemos que un número hexadecimal consta de 16 símbolos, números (0-9) y letras (A-F); para dicho fin y para no confundirse a la hora de convertirse el número se puede hacer una tabla de referencia como la siguiente Fig. 2 y al igual puede ser auxiliar una tabla de resultados:


Ejemplo: Convertir el número 124510 a hexadecimal:


NOTA: Un número hexadecimal se puede expresar con el subíndice 16 (Sistema base 16) o con el índice 0x. Al expresar un número como 0x en alguna IDE, inmediatamente el compilador comprenderá que se trata de un número hexadecimal

_____________________________
Conversión Binario‹-›Hexadecimal

Para la conversión de un número binario a un número hexadecimal, primeramente el binario tiene que separarse en grupos de 4 bits y hacer una tabla de referencia para encontrar el valor hexadecimal de cada conjunto de bits, el número de ejemplo será el mismo de los anteriores ejemplos; servirá de comprobación de la efectividad de los métodos y la facilidad de manejos de estos mismos:
Ejemplo: Convertir el número 0b10011011101 a hexadecimal:
*Primeramente haremos la tabla comparativa como la de la Fig. 3 y gráficamente veremos la separación de bits y la asignación del valor hexadecimal.
.



Para la conversión de hexadecimal a binario, simplemente se hace la forma inversa, cada valor hexadecimal se sustituye por su equivalente binario de la tabla.


Ejemplo: Convertir 0xAA a binario:


Como cada A en hexadecimal tiene el valor de 1010 en binario, el resultado será:

0xAA = 0b10101010


_______________________________________
Conversión (Binario & Hexadecimal)-›Decimal



Por último, nos queda mencionar el tema de la conversión de números hexadecimales y binarios a decimales. La conversión de Binario y Hexadecimal a Decimal consiste en que del bit menos significativo al más significativo, mediante potencias del valor del bit (20, 21, 22, 23, 24, 25, etc., 16 en el caso de hexadecimal) se vayan sumando dichos resultados, multiplicando por el valor de dicho bit. Resulta confuso la manera explicada del procedimiento a realizar, pero gráficamente se puede observar que es muy sencillo.

Ejemplo: Convertir 0b10011011101 y 0x4DD a decimal:





NOTA: En todos los ejemplos de conversión de sistemas se utilizó a propósito el mismo número, esto para ver la concordancia entre estos sistemas y verificar que los estamos trabajando bien.

No comments:

Post a Comment