大端 和 小端序

定义如下的联合体类型和变量

union

{

unsigned char c[2];

unsigned int i;

}m;

m.i= ~0xFF;

则在little-endian字节序的机器上m.c[0], m.c[1]分别为                     (    )

A) 0,OxFF    

B) 0xFF,0    

C) 0,0    

D) 0xFF,0xFF

正确答案: A
答案解析:

本题考察字节序、联合体union和位取反~。答案是 A。

联合体m的两个成员变量c和i共用4个字节的存储空间,其中c占用低地址端的2个字节。

m.i=~0xFF,即m.i=0xFFFFFF00。

在小端字节序的机器上,m.i按字节存储方式是0x00 0xFF 0xFF 0xFF(地址由低到高),即m.c[0]为0,m.c[1]为0xFF

发布了144 篇原创文章 · 获赞 58 · 访问量 22万+

猜你喜欢

转载自blog.csdn.net/qqyuanhao163/article/details/100769452
今日推荐