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

常见面试题:

用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  则说明是小端模式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值