Comment entrer un nombre hexadécimal de 8 octets dans un tableau de caractères?

Je veux générer une séquence de nombres hexadécimaux commençant par 07060504003020100 . Le numéro suivant serait 0f0e0d0c0b0a0908 etc. dans cet ordre.

Lorsque j’utilise unsigned long long int et que je unsigned long long int les données les 4 premiers bits, ce qui signifie que 0 est tronqué. et il imprime 706050403020100 .

Donc, je pensais mettre le nombre dans un tampon de tableau de caractères (ou un autre tampon) et ensuite imprimer la sortie afin que plus tard, si je veux comparer, je puisse faire une comparaison caractère / octet.

Quelqu’un peut-il m’aider? char[8]="0x0706050403020100" ne semble pas correct.

Qu’utilisez-vous pour imprimer votre valeur? La syntaxe pour imprimer 8 octets complétés par 0 sur stdout serait quelque chose comme:

 printf("%016X", value); 

Il se décompose comme ceci:

 %x = lowercase hex %X = uppercase hex %16X = always 16 characters (adds spaces) %016X = zero-pad so that the result is always 16 characters 

Par exemple, vous pourriez faire la même chose en base 10:

 printf("%05d", 3); // output: 00003 

Vous pouvez également jouer avec des décimales:

 printf("%.05f", 0.5); // output: 0.50000 

http://www.cplusplus.com/reference/clibrary/cstdio/printf/