Conversion en C++ d'un nombre binaire en hexa
Croco
-
Nabla's Messages postés 18201 Date d'inscription Statut Contributeur Dernière intervention -
Nabla's Messages postés 18201 Date d'inscription Statut Contributeur Dernière intervention -
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
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
Configuration: Windows Vista Firefox 3.0.8
2 réponses
-
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-
Merci pour ton aide.
Pour mon programme TAILLE vaut toujours 26.
Sinon, je viens d'essayer ce que tu as marqué mais cela ne me donne pas le bon résultat.
De plus, je voudrais récupérer le résultat dans une variable.
et aussi petite précision :
dans mon tableau les deux premières case sont "isolé".
C'est a dire que :
tableau[0] et tableau[1] donneront un chiffre en hexa.
Par contre, le reste ne change pas (toujours ensuite 4 par 4 pour le codage en hexa)
Pour être plus précis, c'est comme si il fallait commencer à coder par la fin du tableau (tableau[25])
(désolé si je ne suis pas très claire)
Merci ! -
-
en faite, il faut quand même tenir de tableau[0] et tableau[1]
alors :
j'ai un tableau comme ca (je ne marque que les indices)
" | " correspond en faite à comment effectuer le codage :
[0] [1] | [2] [3] [4] [5] | .... | [22] [23] [24] [25]
et je dois obtenir un nombre en hexa dans cette ordre la (a b c)
Par contre je viens de trouver comment calculer mais au final, ça m'affiche le nombre en décimal alors qu'il me le faut en hexa ...
et en plus le calcul est un peu trop long ... -
-
-
-
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 !!!