Decimal hexa en C

Fermé
fret - 11 févr. 2008 à 16:38
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 11 févr. 2008 à 18:27
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
A voir également:

3 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 840
11 févr. 2008 à 17:12
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
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 jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
11 févr. 2008 à 18:27
Salut,

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