Decimal hexa en C

fret -  
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   -
Bonjour,

Dans le cadre de ma formation en BTS IG je doit réaliser un programme qui doit effectuer la chose suivante :
-convertir un nombre decimal en hexadecimal

étant debutant en programmation je me suis renseigner sur le net et j'ai trouver des resultat bien trop complexe

voici le programme que j'ai fait celui ci m'affiche des smiley sous dos pour les chiffre superieur a 16 si quelqu'un peu m'aider dans la réalisation de ce programme je lui en serais très reconnaissant

programme :
#################################
#include <conio.h>
#include <stdio.h>
void main ()
{
char octet [4];
int i,valeur,intermediaire;

for (i=0;i<=4;i=i+1)
{
octet [i]=0;
}
printf (" veuillez saisir un chiffre decimal il sera convertit en hexadecimal : ");
scanf ("%d", &valeur);
i=0;

while (valeur !=0)
{
octet [i] = valeur %15 ;
valeur = valeur /16 ;
i=i+1;
}
for (i=4;i>=1;i = i-1)
{
printf ("%d %C ",i,octet [i]);
}
}

#####################################

dans ce programme il me manque la conversion des chiffre superieur a 10 en hexa (ABCDEF) puis le bon resultat

merci de votre aide par avance

3 réponses

fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
tu pourrais utiliser %X au lieu de %d dans printf pour l'affiche d'un chiffre (pas du nombre entier hein, c'est de la triche ça lool).
Ou si même pas le droit de ça, le plus simple est d'effectuer un tableau de caractères de seize éléments : conver.
strcpy(conver,"0,1,2,...,A,B,C,D,E,F"); Ainsi à la place d'afficher octet[i] tu affiches, conover[octet[i]], et là nickel ;)

Si j'ai pas été clair, demande le moi, et je te rexplique ;)

Cordialement
0
fret
 
en effet je veus bien que tu m'explique tous cela un peu plus en detail je n'es pas de restriction au niveau des variable ou autre mais je ne comprend pas très bien pour ce que l'on m'as appris %D = integer %f = float ou encore %c char ce sont les bases du language mais le %x je ne vois pas très bien sont utilité.

Dans l'attente d'une reponse je te remercie par avance

Fret
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,

tu peux regarder ici (la base de conversion sera demandée)
http://www.commentcamarche.net/forum/affich 2026269 conversion de base#9
0