C++学习---一道笔试题:测试当前电脑系统是大端存储还是小端存储数据

最近因为工作需要重新学习C++,按照黑马体系学习。。

偶遇一道面试题,记录一下。新手较菜,大牛勿喷!!



关于大端存储和小端存储的概念


大端存储:指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中,其地址由小向大增加,而数据从高位往低位存储。

       .小端存储:指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中,这种存储模式可以将地址的高低和数据位权有效地结合起来,高地址部分权值高,低地址部分权值低。


代码如下:


#include<iostream>

/* 输入数据1作为测试数据。

1的类型为int型,在计算机中存储使用4个字节存储(00000001)。

  将int型转化成char类型,让它读取一个字节。如果是01,
难么就是小端存储。如果是00,那么就是大端存储。
可以用union来解决。同样是存储(000000001)。
*/

int sys_check()
{
union UN
{
int i;
char c;
}un;
un.i = 1;
if (un.c == 1)
{
return 1; //1表示小端
}
else
{
return 0;//0表示大端
}
}
int main()
{
int ret = sys_check();
if (ret == 1)
{
printf("litter\n");
}
else
{
printf("big\n");
}
system("pause");
return 0;
}


小蜗牛,爬行在C++的漫漫长路上......
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值