Chaine binaire en chaine hexa

thomas59553 Messages postés 11 Date d'inscription lundi 23 décembre 2002 Statut Membre Dernière intervention 8 février 2009 - 2 nov. 2004 à 11:18
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 - 2 nov. 2004 à 17:59
bonjour a tous ;)

je cherche une methode permettant de convertir une chaine binaire en une chaine hexa

le contenu de la chaine binaire est deja verifiee ( 0 et 1)

merci, bonne journee a toutes et a tous .

9 réponses

coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
2 nov. 2004 à 11:51
tu fais une boucle for et des additions : +i^2*chainebinaire[i]
0
thomas59553 Messages postés 11 Date d'inscription lundi 23 décembre 2002 Statut Membre Dernière intervention 8 février 2009
2 nov. 2004 à 13:36
Merci , est t il possible d'avoir un exemple avec une chaine bianire quelquonque ?
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
2 nov. 2004 à 13:40
char a[10], b[10];
a[0]=0
a[1]=1
[...]
for (i=0;i<10;i+=4){
b[i/4]=0;
for (j=0;j<4;j++){
b[i/4]+=2^j*a[i+j]
}
}

Voila a la fin, tu devrais avoir dans b a en hexa...
0
thomas59553 Messages postés 11 Date d'inscription lundi 23 décembre 2002 Statut Membre Dernière intervention 8 février 2009
2 nov. 2004 à 15:22
en essayant un prgramme de test je suis arriver sur ca

#include
#include <string>
#include <conio.h>
using namespace std;
void main()
{
char a[10], b[10];
a[0]=0;
a[1]=1;
//[...]

for (int i=0;i<10;i+=4)
{
b[i/4]=0;

for (int j=0;j<4;j++)
{
b[i/4]+=2^j*a[i+j];
}

}
cout<<"Resultat : "<
#include <string>
#include <conio.h>

using namespace std;

void main()
{

string ChaineBin, ResultatHexa;

cout<<"entre une chaine bianire : ";
cin>>ChaineBin;

for (int i=0; i < ChaineBin.size() ; .... )
{

.........

}

cout<<"Resultat : "<<ResultatHexa;
}

merci de votre aide
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
2 nov. 2004 à 16:59
^^
dans ce cas fait afficher : c[b[i]] ou *c="0123456789ABCDEF"

Mais ces nombres sont bien de 1 à 15..
0
thomas59553 Messages postés 11 Date d'inscription lundi 23 décembre 2002 Statut Membre Dernière intervention 8 février 2009
2 nov. 2004 à 17:28
merci mais cela reste encore tres tres confus :shy)
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
2 nov. 2004 à 17:34
la je n'ai pas stoqué dans b des caractères et tu les affiches comme des caractères...
j'ai stoqué de l'exa (de 0 à 15...)
affichez en chifres séparés pas des espaces b et vous verrez que ce sont bien des chifres exa..
0
thomas59553 Messages postés 11 Date d'inscription lundi 23 décembre 2002 Statut Membre Dernière intervention 8 février 2009
2 nov. 2004 à 17:55
je comprend vraiment pas :(:( , c'est trop complexe ... ca m'affiche rien ou plein de caractere bizar ....

peut t'on travaller directement sur le string ? genre "0011100101"

sans passer par

char a[10], b[10];
a[0]=0;
a[1]=1; car ca je comprend pas comment ca marche vu que c'est un utilisateur qui la rentre

merci de votre patience :) :shy)
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
2 nov. 2004 à 17:59
euh tu peux passer par des strings, mais faut les transformer en tableaux comme ce que je t'ai dit...

ta's des tas de sources pour ça ici...
0
Rejoignez-nous