INFORMATICA Y OCIO

Foros de informática
  Inicio    Normas    Buscar   Miembros   Clanes   Regístrese   Perfil   Conéctese para revisar sus mensajes   Conectarse 

[informatica] + [videos graciosos] + [ultimos mensajes] + [top usuarios] + [contacto]
De hexadecimal a decimal en C

 
Publicar Nuevo Tema   Responder al Tema    Índice del Foro Foroz comunity :: Programación
Ver tema anterior :: Ver siguiente tema  
Autor Mensaje
javi_606
User destacando
User destacando


Registrado: 17 Jul 2007
Mensajes: 223

MensajePublicado: Dom May 04, 2008 10:36 pm    Título del mensaje: De hexadecimal a decimal en C Responder citando
Pues intento hacer este programa, y me da error, os pongo el código:

Código:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>

void hexadecimal (char *cifra, double longi);

int main ()
{
   
  char cifra[100];
  double longitud;
 
 
  printf ("Introduce el numero en hexadecimal: ");
  gets (cifra);
 
  longitud = strlen (cifra);
 
 
  hexadecimal (cifra, longitud);

 
  system ("pause");
  return 0;

}


void hexadecimal (char *cifra, double longi){
   
   char *p;
   
   double resul;
   
   resul = 0;
   p = cifra;
   
   while (*p != '\0' ){
      
      if (*p == 'A')
      resul = 10 * pow(16,longi-1) + resul;
     
      if (*p == 'B')
      resul = 11 * pow(16,longi-1)+ resul;
      
      if (*p == 'C')
      resul = 12 * pow(16,longi-1)+ resul;
      
      if (*p == 'D')
      resul = 13 * pow(16,longi-1)+ resul;
      
      if (*p == 'E')
      resul = 14 * pow(16,longi-1)+ resul;
      
      if (*p == 'F')
      resul += pow(16,longi-1)*15;
      
      
   
      if (*p!='A' && *p!='B' && *p!='C' && *p!='D' && *p!='E' && *p!='F' ){
      resul = (*p) * (pow(16,longi-1))+resul;
        }       
      longi--;
        p++;
      }
      
      
   printf ("El numero en decimal es: %f\n\n", resul);
   
   
   }


Cuando pongo una letra sale bien el resultado, o sea, si pongo A, sale 10, si pongo B, sale 11, y asi...Pero a la hora de poner un número es cuando me da un número raro...


¿Qué puede estar fallando?
Volver arriba
Ver perfil del usuario Enviar mensaje privado
Mostrar mensajes anteriores:   
Publicar Nuevo Tema   Responder al Tema    Índice del Foro Foroz comunity :: Programación Todas las horas están en GMT + 1 Hora
Página 1 de 1
Saltar a:  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
 
Articulos relacionados
En Programación >> De binario a decimal en C
En Descargas/informatica >> Editor Hexadecimal
En General >> ¿Cómo paso un número decimal a binario?
En Diseño Gráfico >> lista de codigos hexadecimal para dis...
 

 
Foroz comunity Tema RSS 




by phpBB  
informatica Videos graciosos webmasters theme by Scott Stubblefield Top foroz