Conversion binaire en hexadecimal

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;
}
Configuration: Windows Vista Internet Explorer 7.0

1 réponse

  • Votes
  • Date
  • Date décroissante
  1. 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