Téléchargement
illégal
Posez votre question Signaler

Conversion en C++ d'un nombre binaire en hexa

Croco - Dernière réponse le 20 avril 2009 à 16:40
Bonjour,
Je voudrais trouver une fonction ou un moyen de faire une conversion d'un binaire en un hexa.
Alors je dispose d'un : int * de 26 cases
celui ci contient alors des 0 et des 1
et je veux convertir ce pointeur dans un unsigned long int en hexa
Est ce que quelqu'un pourrait m'aider svp
Merci d'avance
Lire la suite 

Conversion en C++ d'un nombre binaire en hexa »

12 réponses
Réponse
+0
moins plus
je considère que la première case correspond au LSB(bit de poids faible)

alors, ,tu as
#define TAILLE 26
int tableau [TAILLE ]={.....};//déclaration de ton tableau (int*), et le remplissage des valeurs .....

on va faire:

unsigned long resultat=0; //le résultat est pour l'instant à 0

int i;
for (i=0;i<TAILLE;i++) //on parcours tout le tableau
resultat+=(tableau[i]<<i); //on ajoute au résultat chaque bit (case du tableau) en le déplaçant vers la gauche du nombre de cases correspondant...

printf("le résultat est %d", resultat);

tiens moi au courant si ça marche, ou si ton ordre est MSB en premier ;)

edit: le type LONG est codé sur 4 octets, ce qui te donne 32 bits-> TAILLE doit etre inférieur ou égal à 32
Croco - 20 avril 2009 à 15:16
Ok merci mais pour le récupérer dans une variable, comment on fait ?
un printf ça ne sert pas à afficher ?
Nabla's- 20 avril 2009 à 15:20
dans une variable, qu'il soit en décimel ou en hexa, ca ne change rien. c'est a l'affichage que tu décide comment tu veux l'afficher (forme hexa ou forme decimale)

dans le code que je t'ai filé, la variable "résultat" contient le résultat...

tu epux aussi faire un sprintf pour stocker le résultat sous la forme d'une chaine de caractères, qui aura elle la notation en hexadécimale, si tu le souhaite
Croco - 20 avril 2009 à 16:09
Merci beaucoup de ton aide !
Ajouter un commentaire
Réponse
+0
moins plus
La réponse donnée est absolument n'importe quoi ! (ça fait peur même)
Utilisee la fonction standard de conversion : 1 ligne de code !!!
Nabla's- 20 avril 2009 à 14:19
c'est quoi ta fonction de conversion standard ?
Croco - 20 avril 2009 à 16:11
J'aimerai effectivement bien que tu me donne la fonction qui peut convertir un chiffre binaire (int *) et un hexa (int).
Par ce que celle que j'ai fait est un peu longue ...
et qu'il doit y en avoir une plus courte
Nabla's- 20 avril 2009 à 16:40
attention a ce que tu dis. un int* n'est pas un binaire. C'est un tableau d'entiers que tu utilises pour représenter un binaire. Si tu boulais meme etre correct, tu ferai un tableau de bool.
Ajouter un commentaire
Ce document intitulé « Conversion en C++ d'un nombre binaire en hexa » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?