Conversion binaire en hexadecimal

Fermé
rorodebut Messages postés 1 Date d'inscription mercredi 20 janvier 2010 Statut Membre Dernière intervention 20 janvier 2010 - 20 janv. 2010 à 14:08
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 - 20 janv. 2010 à 18:26
Bonjour,
je débute en programmation et je suis bloqué pour faire permettant de passer de binaire en hexadecimal. J'ai fait le programme permettant de passer de décimal et binaire mais en héxa je bloque. quelqu'un peut m'aider?

#include "main.h"

int main()
{
int tab[8];
char tabhexa[2];
char tabconv[16] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
int i;
int valdec;
int convhexa;

cout << "Saisir une valeur decimale entre 0 et 255 : " << endl;
cin >> valdec;
for(i = 7 ; i >= 0 ; i--)
{
tab[i] = valdec % 2;
valdec = valdec / 2;
}

cout << "valeur en binaire : " ;

for(int i = 0 ; i <= 7 ; i++)
{
cout << tab[i] ;

}
cout << endl;

cout << "valeur en hexadecimal : " ;

//Conversion des 4 bits de poids faible
convhexa = tab[7]*(int)pow(2.0,0);




cout << endl;
system("pause");

return 0;
}

1 réponse

giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
20 janv. 2010 à 18:26
si je me souviens bien :

4 bits avec un poids décimal de 8421

ainsi
0111 => (0x8)+(1x4)+(1x2)+(1x1) = 7
1111 => (1x8)+(1x4)+(1x2)+(1x1) = 15 base 10 = F base 16

et donc
11111111 = FF
10001000 = 88
11001100 = CC
1