Inutile de faire la conversion à la main! Vous vous donnez bien trop de mal pour rien. Premier commentaire : C'est du C++! N'utilisez pas les vieilles fonctions C. #include <stdio.h> devrait être #include <cstdio>. Si une librairie standard a une extension .h, c'est que c'est une vieille libraire C. Les librairies standard C++ n'ont tout simplement pas d'extension. 2) Pourquoi utiliser printf? encore là c'est pour le C. Oui ça marche en C++ mais c'est une mauvaise habitude. std::cout existe pour le C++. En plus, la librairie standard inclu déjà quelque chose qui va grandement te simplifier la vie... on appelle ça std::hex.
#include <iostream>
int main()
{
std::cout << "Entre un nombre: ";
int nb;
std::cin >> nb;
std::cout << "Voici ce nombre en hexadecimal: "
<< std::hex << nb << std::endl;
}
C'est aussi simple que ça, tu n'as qu'a include std::hex dans un cout, et les nombres vont être affichés sous représentation hexadécimale. Beaucoup BEAUCOUP plus rapide qu'une conversion manuele. Quoi faire si tu assigner une valeur hexadécimale à une variable dans ton programme?
int x = 0xFF;
Tu n'as qu'à ajouter 0x avant le nombre, c'est tout. Si tu veux que je t'écrive une fonction pour convertir soi-meme de décimal à hexadécimal dit le moi, jvais ten écrire une assez rapide.
-Aghaster
www.planetcpp.info


