大小端概念
大端模式:是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中。
小端模式:是指数据的低位保存在内存的低地址中,而数据的高位,,保存在内存的高地址中。
百度2015年系统工程师笔试题:
请简述大端字节序和小端字节序的概念,设计一个小程序来判断当前机器的字节序。(10分)
#include
#include
// 代码1
int check_sys()
{
int i = 1;
return (*(char*)&i);
}
int main()
{
int ret = check_sys();
if (1 == ret)
{
printf("小端\n");
}
else
{
printf("大端\n");
}
system("pause");
return 0;
}
//代码2
int check_sys()
{
union
{
int a;
char b;
}un;
un.a = 1;
return un.b;
}
练习
//输出什么?
#include
#include
int main()
{
char a = -1;
signed char b = -1;
unsigned char c = -1;
printf("%d %d %d\n", a, b, c);
system("pause");
return 0;
}
下面程序输出什么?
1.
#include
#include
int main()
{
char a = -128;
printf("%u\n", a);
system("pause");
return 0;
}
2.
#include
#include
int main()
{
char a = 128;
printf("%u\n", a);
system("pause");
return 0;
}
3.
#include
#include
int main()
{
int i = -20;
unsigned int j = 10;
printf("%d\n", i j);
system("pause");
return 0;
}
4.
#include
#include
int main()
{
unsigned int i;
for (i = 9; i >= 0; i--)
{
printf("%u\n", i);
}
system("pause");
return 0;
}