Je voudrais prendre un int, et le convertir en uint8_t tableau de nombres hexadécimaux? L'int est au maximum de 8 octets dans HEX après conversion. Je suis en mesure d'utiliser une méthode qui convertit un int (19604) dans un tableau uint8_t comme ceci:Conversion d'un int en un tableau uint8_t Valeur HEX
00-00-00-00-00-00-00-00-04-0C-09-04
Mais j'ai besoin de ressembler à ceci:
00-00-00-00-00-00-00-00-00-00-4C-94
L'algorithme I utilisé était cette :
void convert_file_size_to_hex(long int size)
{
size_t wr_len = 12;
long int decimalNumber, quotient;
int i=wr_len, temp;
decimalNumber = size;
quotient = decimalNumber;
uint8_t hexNum[wr_len];
memset(hexNum, 0, sizeof(hexNum));
while(quotient != 0) {
temp = quotient % 16;
hexNum[--i] = temp;
quotient /= 16;
}
Comment puis-je faire cela? Dois-je utiliser un algorithme différent ou devrais-je essayer de décaler le résultat? Je suis un peu nouveau pour changer de couleur en C, donc une aide serait géniale. Je vous remercie!
+1 Je pensais que c'était la façon la plus simple et la plus directe de le faire sans utiliser d'algorithmes et de types de données personnalisés. Je vous remercie! –