Je sais comment le faire en hex:
unsigned char myNum = 0x8; // Pretend std::hex takes an argument to specify number of digits. clog << "Output: " << std::hex(2) << int(myNum) << endl; // Desired: // Output: 08
5 Réponses :
glog << "Output: " << std::setfill('0') << std::hex(2) << int(myNum) << endl; See also: http://www.arachnoid.com/cpptutor/student3.html
Regardez le regard sur le SETFILLD code> et
SETW code> manipulateurs dans
Ce n'est pas aussi propre que je voudrais, mais vous pouvez modifier le caractère "Remplir" sur un "0" pour faire le travail: note, cependant, que le personnage Vous êtes prêt pour le remplissage est "Sticky", donc ça va rester "0" après cela jusqu'à ce que vous le restais à un espace avec quelque chose comme votre_stream << std :: SETFILL (''); CODE> . p> p>
Ceci fonctionne: sortie: 023 p> p>
C'est un peu sale, mais une macro a fait un bon travail pour moi: alors vous pouvez le faire: p> La sortie: p> ma valeur hexagonale = 0x00012345 p>
blockQuote> p>
Vous vous rendez compte que quiconque tente de lire vos numéros hexagonaux de retour les voir comme des nombres octals? Je ne faisais que demander.:-)
Vrai, mais c'est pour la consommation humaine, pas la consommation d'ordinateur.