Autor Tema: Hexadecimal a decimal  (Leído 3116 veces)

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

Desconectado zer0007

  • PIC16
  • ***
  • Mensajes: 106
Hexadecimal a decimal
« en: 01 de Septiembre de 2005, 00:57:00 »
Necesito pasar un numero de hexadecimal a decimal, en teoria debemos coger cada una de las cifras del numero hexadecimal y la primera multiplicarla por 16, la segunda por 16 al cuadrado, la tercera por 16 al cubo y se suman.

Como puedo descomponer en cifras un numero hexadecimal, he pensad dividiendo por 100, 10 y luego el restoo, pero en el C30 no se como hacerlo ¿?

Alguien podria ayudarme ? Grácias.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
RE: Hexadecimal a decimal
« Respuesta #1 en: 01 de Septiembre de 2005, 02:46:00 »
¿En qué tipo de variable tienes el número hexadecimal?, ¿un string de caracteres?

Desconectado zer0007

  • PIC16
  • ***
  • Mensajes: 106
RE: Hexadecimal a decimal
« Respuesta #2 en: 07 de Septiembre de 2005, 04:29:00 »
Esto es lo que he hechop y funciona rebujito

#include <stdlib.h>


unsigned int DecimaltoHex(unsigned int Dec)
{
   unsigned int pHex;
   ldiv_t sHex;
   ldiv_t tHex;
   ldiv_t cHex;
   unsigned int total;
   
   cHex = ldiv(Dec,0x1000);
   tHex = ldiv(cHex.rem, 0x100);   
   sHex = ldiv(tHex.rem, 0x10);
   pHex = sHex.rem;
   
   total = ((cHex.quot * 4096) + (tHex.quot * 256) + (sHex.quot * 16)  + sHex.rem);
   return total;
}

Desconectado zer0007

  • PIC16
  • ***
  • Mensajes: 106
RE: Hexadecimal a decimal
« Respuesta #3 en: 07 de Septiembre de 2005, 04:52:00 »
Ahora estoy intentando hacer una funcion que me convierta de decimal a hexadecimal


 

anything