请简述大端字节序和小端字节序的概念,设计一个小程序来判断当前机器的字节序。
分析:
当我们要判断当前机器的字节序时:我们首先要知道大小端的原理:大端,将高位放在低地址处,低位放到高地址处。而小端,则反之。
所以我们就可以通过这一原则,创建一个数据来对该数据的内存中的值,进行判断。
具体如下:
#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)即可