Rechercher : dans
Par :

Conversion Binaire/Hexadécimal en langage C

Dernière réponse le 11 jan 2008 à 16:18:57 A2I, le 18 déc 2007 à 15:24:57 
 Signaler ce message aux modérateurs

Bonjour à tous,

je voudrai écrire un programme permettant la conversion d'un chiffre binaire en hexadécimal en langage C.
Et pour cela j'aimerai utilisé une chaine de caractère pour représenter le nombre binaire, ainsi qu'une autre pour le résultat en hexa.

Merci d'avance!!!

Meilleures réponses pour « conversion Binaire/Hexadécimal en langage C » dans :
Langage C++ - Les types de données Voir Les types de données Les données manipulées en langage C++, comme en langage C, sont typées, c'est-à-dire que pour chaque donnée que l'on utilise (dans les variables par exemple) il faut préciser le type de donnée, ce qui permet de connaître...
Langage C - Les types de données VoirLes types de données Les données manipulées en langage C sont typées, c'est-à-dire que pour chaque donnée que l'on utilise (dans les variables par exemple) il faut préciser le type de donnée, ce qui permet de connaître l'occupation mémoire (le...
Caractéristiques du langage C VoirLe fichier source Le fichier source d'un programme écrit en langage C est un simple fichier texte dont l'extension est par convention .c. Note d'un visiteur (J.Grondin) : L'extension est en minuscules. Le .C (majuscule) est interprété par...
Langage C - Les chaînes de caractères VoirQu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C, une chaîne...

1

Qwerti, le 18 déc 2007 à 15:55:17

Et bien vas-y, commence, et dis-nous ou tu rencontres des difficultes...

a+
-Qwerti.

Répondre à Qwerti

2

A2I, le 18 déc 2007 à 17:23:55

En faite on me demande de me servir de programme et des fonction précedement travailler:
j'avais fais un programme permettant la conversion Binaire/Décimal:

#include<stdio.h>
....

void binaire(int nombre, char tab[100])
{
int quotient,i,j;
char c;
i=0;
while(quotient!=0)
{
quotient=nombre/2;
tab[i]= nombre%2==0) ? '0' : '1' ;
nombre=quotient;
i++;
}

tab[i]= '\0';

for (j=0; j<i/2; j++)
{
c=tab[j];
tab[j]=tab[i-1-j];
tab[i-1-j]=c;
}

}

int main()
{
int nombre;
char chaine[100];
printf("saisir un nombre entier: \n");
scanf("%d",&nombre);
binaire(nombre,chaine);
printf("le nombre en binaire est: \n %s ",chaine);

while(1);

return 0;
}

voilà:

maintenant pour cette conversion Bin/Hexa je suis un peu perdu.
comment faudrai t-il que je mi prend? et est ce que je dois réutilisé la fonction...?

Répondre à A2I

3

Qwerti, le 18 déc 2007 à 17:37:45

Une possibilité serait de mettre les caracteres hexadecimaux dans une matrice :

char carhex[]={"0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"};

puis tu remplaces la ligne

tab[i]= (nombre%2==0) ? '0' : '1' ;

par

tab[i] = carhex[nombre%16];

Il faut aussi remplacer

quotient=nombre/2;

par

quotient=nombre/16;

(ceci dit, je doute que tu aies reellement besoin de la variable quotient).

a+
-Qwerti.

Répondre à Qwerti

4

A2I, le 18 déc 2007 à 22:38:58

Merci beaucoup Qwerti, je pense que cela va beaucoup m'aider!!
a+

Répondre à A2I

5

Qwerti, le 18 déc 2007 à 22:51:59

Chouette :-)

Poste-nous le resultat quand tu auras fini !

a+
-Qwerti.

Répondre à Qwerti

6

 ludo, le 11 jan 2008 à 16:18:57

Slt!
existe-t-il une commande permettant de transformer un nombre binaire en un hexadécimal en C?

Répondre à ludo