C++学习---一道笔试题:测试当前电脑系统是大端存储还是小端存储数据
2017-12-12 23:21
447 查看
最近因为工作需要重新学习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++的漫漫长路上......
偶遇一道面试题,记录一下。新手较菜,大牛勿喷!!
关于大端存储和小端存储的概念
大端存储:指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中,其地址由小向大增加,而数据从高位往低位存储。
.小端存储:指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中,这种存储模式可以将地址的高低和数据位权有效地结合起来,高地址部分权值高,低地址部分权值低。
代码如下:
#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++的漫漫长路上......
相关文章推荐
- 测试一台电脑的存储是大端模式还是小端模式
- 笔试面试7 如何判断一个系统的存储方式是大端还是小端
- 【C语言深度剖析】测试系统存储是大端模式还是小端模式的方法
- 关于大小端的简单介绍以及使用C写一个函数判断当前系统是大端存储还是小端存储
- 测试系统存储是大端模式还是小端模式的方法
- 判断电脑系统中一个数是大端存储还是小端
- 写一个程序判断当前系统存储模式是大端还是小端
- 测试本机的数据存储形式——大端还是小端
- C语言--测试电脑存储模式(大端存储OR小端存储)
- 如何判断当前环境的存储方式是大端模式还是小端模式?
- 测试计算机是小端存储还是大端存储
- 判断电脑是大端系统还是小端系统
- 大端小端:测试本机的数据存储形式
- 测试电脑的存储方式(大端or小端)
- C++ 判断是大端存储还是小端存储
- 电脑大小端问题以及如何判断当前机器是大端还是小端
- 如何用程序确认当前系统的存储模式(大端模式、小端模式)
- 如何测试你的系统是大端还是小端模式
- C语言判断数据存储时大端模式还是小端模式
- 编写程序判断你的电脑存储方式是大端存储还是小端