Comment imprimer la valeur 32 bits complet?
Je veux savoir comment imprimer le complet entier de la valeur à zéro aussi en C seulement.
Et je suis dans l'espace noyau ,voulez imprimer certaines valeurs dans le module du noyau.
Comme si a
est un entier de 32 bits, puis
int a = 14
alors la sortie sera comme ceci
value of a = 0x0000000e
en hexadécimal.
Merci d'avance.
- Remarque, vous aurez
0000000E
si vous utilisez%08X
et0000000e
si vous utilisez%08x
. Big X n'grand ABCDEF et peu de x ne peu abcdef. Je préfère les casquettes de style moi-même.
Vous devez vous connecter pour publier un commentaire.
Mettre un
0
dans le format:De la
printf(3)
de la page de manuel:Rien de tel que la documentation pour répondre à des questions pour vous, tout au moins si la documentation est tout bon.
#
comme un modificateur d'un "autre" formulaire que fournit le0x
en face.printf
est un variadic fonction, et de ce fait, il n'y a pas de conversion de l'int
àunsigned int
, implicite ou explicite. Pousser unint
, pop ununsigned int
avec exactement la même représentation... Donc,printf("%X\n", -1);
sera invariablement réagissent différemment selon que ceux complément, complément à deux ou signe et l'ampleur de la représentation est utilisée, en plus de la possibilité de rembourrage dans la représentation entière pour avoir un impact, comme on l'a soulevé dans le lien dans mon commentaire précédent.