de hexadecimal a decimal

Iniciado por lokecolinUAM, 12 Julio 2012, 12:13 PM

0 Miembros y 1 Visitante están viendo este tema.

lokecolinUAM

hola haora nesecito un programa en C que pida un numero hexadecimal y de la convercion en decimal

la bronca es que todo sin usar funciones
solo ciclos cadenas arreglos y cosas asi!!!!

DickGumshoe

¿Qué has intentado? Sino no te podemos ayudar, ya que no sabemos la parte en la que tienes dudas...

Saludos.

dato000

para pasar de hexadecimal a decimal debes tener en cuenta unas cosas básicas:

* Cada valor HEX se traduce en 4 bits binarios, esto es por ejemplo, A1 = 1010 0001, y si traduces el valor binario a decimal: 1010 0001 = 161,

Entonces debes tener en cuenta los siguientes tips:

1) Primero creas un arreglo de caracteres, ahi pediras el valor HEX, con un arreglo de 10 posiciones bastara. Hay gente que traduce ese arreglo de caracteres a uno de int o float, pero para este caso no es necesario pues no se realizan operaciones logico-aritmeticas.

2) traduces ese valor HEX a binario, entonces por cada cifra HEX en el arreglo de caracteres deberas tener 4 posiciones que almacenes los números binarios que tengan el valor HEX convertido a binario, entonces, crea un arreglo de unas 50 posiciones para almacenar el valor binario.

3) creas un switch que almacene los casos en los que se interprete cada valor hexadecimal y se almacene en el arreglo binario cada valor.

4) teniendo ese arreglo binario, dependiendo de ese número de posiciones procedes a interpretar esos valores a una variable contador que inicializas en cero ("0") y le vas sumando cada valor binario en el que haya un 1 en el arreglo binario.

5) es importante recordar que dependiendo de la posicion debe sumarse de acuerdo a la potencia de dos mientras hace el recorrido (2^n recorriendo el arreglo binario), y se lo vas sumando a la variable contadora.



Aqui te dejo una tabla de conversion de este tipo de problemas.

http://es.ncalculators.com/digital-computation/binary-hex-converter.htm

Ojala sirva de algo, no nos pidas que te hagamos el código, busca en google o pagale a alguien que esto es practicamente trabajo.



do-while

¡Buenas!

Si no te obligan a utilizar ningun metodo en particular, siempre puedes leer el numero utilizando el expecificador de conversion %X, y mostrarlo con %d.

¡Saludos!
- Doctor, confundo los números y los colores.
- Vaya marrón.
- ¿Marrón? ¡Por el culo te la hinco!