#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

标签: none

评论已关闭