测试一台电脑的存储是大端模式还是小端模式

来源:互联网 发布:云计算市场分析 编辑:程序博客网 时间:2024/04/29 04:15

常见面试题:

用union的方法:
介绍下union
union (共用声明和共用一变量定义)
“联合”是一种特殊的类,也是一种构造类型的数据结构。在一个“联合”内可以定义多种不同的数据类型, 一个被说明为该“联合”类型的变量中,允许装入该“联合”所定义的任何一种数据,这些数据共享同一段内存,以达到节省空间的目的(还有一个节省空间的类型:位域)。 这是一个非常特殊的地方,也是联合的特征。另外,同struct一样,联合默认访问权限也是公有的,并且,也具有成员函数。

/***下面就是采用的 这些数据共享同一段内存的特性实现的***/ 10 #include<cstdio> 11 int main() 12 { 13     union 14     { 15         int a; 16         char c[4]; 17     }; 18     a = 0x12345678; 19  20 //  c[0] = ?  根据c[0]的输出判断电脑是大端存储还是小端存储 21     printf("c[0] = %x\n",c[0]);//78   56 22  23     return 0; 24 }

结果分析:

如果c[0] 为12  则说名是大端模式。如果c[0] 为78  则说明是小端模式。
0 0