Dupliquer possible:
Existe-t-il un convertisseur printf pour imprimer au format binary?
Voici mon programme
#include int main () { int i,a=2; i=~a; printf("a=%d\ni=%d\n",a,i); return 0; }
La sortie est
a=2 i=-3
Je veux que cela soit imprimé en binary. Il y a% x,% o et% d qui correspondent aux nombres hexadécimal, octal et décimal, mais que signifie-t-il pour imprimer du binary dans printf?
printf () ne supporte pas directement cela. Au lieu de cela, vous devez créer votre propre fonction.
Quelque chose comme:
while (n) { if (n & 1) printf("1"); else printf("0"); n >>= 1; } printf("\n");
Bien que ANSI C ne dispose pas de ce mécanisme, il est possible d’utiliser itoa () comme raccourci:
char buffer [33]; itoa (i,buffer,2); printf ("binary: %s\n",buffer);
Voici l’origine:
itoa dans la référence cplusplus
C’est un C non standard, mais K & R a mentionné la mise en œuvre dans le livre C, donc cela devrait être assez courant. Il devrait être dans stdlib.h.