#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdint.h>
int main(void)
{
// uint8_t[4] 数组转成单个 10 进制数值
uint8_t uint8_t_array[]={0x00,0x00,0x08,0xcc};
uint32_t decimal = 0;
decimal = (uint8_t_array[0]<<24)|(uint8_t_array[1]<<16)|(uint8_t_array[2]<<8)|(uint8_t_array[3]);
printf("%d",decimal);
printf("\n\n");
// 将单个 10 进制数值转成 uint8_t[4] 数组
unsigned char hexBuffer[4]={0};
int i;
memcpy((char*)hexBuffer,(char*)&decimal,sizeof(int));
for(i=3;i>=0;i--)
printf("%02X ",hexBuffer[i]);
printf("\n\n");
return 0;
}
参考资料:
Converting an int to uint8_t array HEX value
评论已关闭