关于大端与小端的判断

大小端的概念很容易理解,摘录一下网上的判断程序
方法一
uint8_t Is_Little_endian(void)
{
    uint16_t i = 1;
    return (*(uint8_t *)&i);
}


方法二
uint8_t Is_Little_endian(void)
{
    union
    {
        uint16_t  big;
        uint8_t   lit;
    } check;
    check.big = 1;
    return check.lit;
}


方法三
static union
{
    uint8_t a[2];
    uint16_t i;
}endian = {1,0};

#define Is_Little_endian() ((uint8_t)endian.i)

判断
int main()
{
    if(Is_Little_endian())
        printf("It's Little-endian");
    return 1;
}

你可能感兴趣的:(关于大端与小端的判断)