标签:
字节序由处理器决定,它分为两大阵营,一方以Intel为代表,其处理器的字节序是小尾端模式,即低地址存储数据的低位部分,高地址存储数据的高位部分;另一方以IBM为代表,其处理器的字节序是大尾端模式,即低地址存储数据的高位部分,高地址存储数据的低位部分。
可用以下的简单代码测试CPU的大小端,小段输出0x78,大端0x12
#include <stdio.h> int main() { int i = 0x12345678; char *p = &i; printf("%x\n", p); return 0; }
结构体的位域成员变量
为了节省空间,如果结构体有几个成员变量的取值范围很小,那么可以考虑将它们合并在一个字节里或一个short、int变量里。使用一个类型超过一个字节的变量时,需要考虑字节序,那么在结构体中使用位域时,需不需要考虑bit序呢?即一个整形变量内包含多个位域变量,各变量的bit顺序是不是固定的呢?通过测试发现,各CPU体系结构的位域bit序跟其字节序大小端是一致的。
标签:
原文地址:http://www.cnblogs.com/chinhao/p/4615841.html