大小端
大端存储模式:数据的低位字节序内容保存在内存的高地址中,数据的高位字节序内容保存在内存的低地址中
小端存储模式:数据的低位字节序内容保存在内存的低地址中,数据的高位字节序内容保存在内存的高地址中
百度2015系统工程师笔试题
请简述大端字节序和小端字节序的概念,设计一个小程序来判断当前机器的字节序。(10分)
//int check_sys()
//{
// int a = 1;
// //00 00 00 01
// //if (*((char*)&a) == 1)
// // //int* 强制类型转换为 char* ,char* 只能存储 int* 在内存中的第一个字节
// //{
// // printf("小端\n");
// // //01 00 00 00
// //}
// //else
// //{
// // printf("大端\n");
// // //00 00 00 01
// //}
// return *((char*)&a);
//}
int check_sys()
{
union Un
{
int i;
char c;
} un;
//共用体内变量共用内存空间,c字符变量会与整型变量i的第一个字节共用内存空间
un.i = 1;
return un.c;//返回c即返回整型变量i第一个字节的内容
}
int main()
{
int flag = check_sys();
if (flag == 1)
{
printf("小端\n");
}
else
{
printf("大端\n");
}
return 0;
}
详情:
https://github.com/QIYU1024/C-C-_Work/blob/master/test_11_3/test_11_3/test.c