判断大小端模式

大端小端模式是指高位存放在高地址还是存放在地址值。

大端模式:高位存放在低地址,低位存放在高地址

小端模式:高位存放在高地址,低位存放在低地址

不管是大端还是小端,读取数据都是从低地址开始读,因此char类型在大端小端都是一样的,可以用union来判断大小端。

union var
{
    int a;
    char b;
};

int is_little_endian(void)
{
    union var u1;
    u1.a = 1;
    
    return u1.b;//大端返回0,小端返回1
}

当然,用强制转换也可以达到同样的效果

int is_little_endian(void)
{
    int a = 1;
    return *(char*)(&a);//大端返回0,小端返回1
}
发布了21 篇原创文章 · 获赞 5 · 访问量 2257

猜你喜欢

转载自blog.csdn.net/PTA123/article/details/105333993
今日推荐