数组转换成16进制数:

#include <stdio.h>
#include <stdlib.h>

typedef unsigned char       UINT8;
typedef unsigned int        UINT32;

#define TEST_VERSION 0x00000033

int main()
{
    UINT8 Version[4] = {0};

    Version[3] = 0x00;
    Version[2] = 0x00;
    Version[1] = 0x01;
    Version[0] = 0x03;

    printf("Version(x)     = %lx\n", *((UINT32*)Version));
    printf("Version(d)     = %ld\n", *((UINT32*)Version));
    printf("TestVersion(x) = %lx\n", (UINT32)TEST_VERSION);
    printf("TestVersion(d) = %ld\n", (UINT32)TEST_VERSION);

    if( *((UINT32 *)Version) != (UINT32)TEST_VERSION )
    {
        printf("Version is not equal.\n");
    }
    else
        printf("Version is equal.\n");

    printf("main end.\n");
    return 0;
}

 C语言实例:类型转换 随笔

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄