请简述大端字节序和小端字节序的概念,设计一个小程序来判断当前机器的字节序。
分析:
当我们要判断当前机器的字节序时:我们首先要知道大小端的原理:大端,将高位放在低地址处,低位放到高地址处。而小端,则反之。
所以我们就可以通过这一原则,创建一个数据来对该数据的内存中的值,进行判断。
具体如下:
#include<stdio.h>
int main()
{
int a = 1;//其在补码(十六进制)为:00 00 00 01 、此时我们只要判断他在内存中的低地址处存的是高位(0)还是低位(1)即可
char* pa = (char*)&a;//通过字符指针访问整形在内存中的第一个字节的值是什么
if (*pa == 1)
{
printf("小端\n");
}
else
{
printf("大端");
}
return 0;
}
此时我们只要判断他在内存中的低地址处存的是高位(0)还是低位(1)即可
持续更新大量C语言相关知识,三连关注不迷路