我想採取一個整數,並將其轉換爲uint8_t數組的十六進制數?轉換後,整數在HEX中最長爲8個字節。我能夠使用一個int(19604)轉換爲uint8_t數組這樣的方法:轉換int到uint8_t數組HEX值
00-00-00-00-00-00-00-00-04-0C-09-04
但我需要它看起來像這樣:
00-00-00-00-00-00-00-00-00-00-4C-94
我所使用的算法是這樣的:
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;
}
我該怎麼去做這件事?我應該使用不同的算法還是應該嘗試對結果進行位移?我在C方面有點新變化,所以一些幫助會很棒。謝謝!
+1我認爲這是不使用任何算法和自定義數據類型的最簡單直接的方法。謝謝! –