Hey, je suis à la recherche pour convertir un int qui est entrées par l'utilisateur dans 4 octets, que je suis de l'affectation à un tableau de caractères. Comment cela peut-il être fait?
Exemple:
Convertir des entrées de l'utilisateur de 175 à
00000000 00000000 00000000 10101111
Problème avec toutes les réponses jusqu'à présent, la conversion de 255 devrait entraîner 0 0 0 ff
bien qu'il imprime comme: 0 0 0 ffffffff
unsigned int value = 255;
buffer[0] = (value >> 24) & 0xFF;
buffer[1] = (value >> 16) & 0xFF;
buffer[2] = (value >> 8) & 0xFF;
buffer[3] = value & 0xFF;
union {
unsigned int integer;
unsigned char byte[4];
} temp32bitint;
temp32bitint.integer = value;
buffer[8] = temp32bitint.byte[3];
buffer[9] = temp32bitint.byte[2];
buffer[10] = temp32bitint.byte[1];
buffer[11] = temp32bitint.byte[0];
la fois le résultat en 0 0 0 ffffffff
au lieu de 0 0 0 ff
Juste un autre exemple est de 175 que l'entrée imprime comme 0, 0, 0, ffffffaf
alors qu'il devrait simplement être 0, 0, 0, af