1.什么是大端法与小端法
大端法与小端法是一个表示程序对象字节排列顺序的规则,我们举例说明:
假设有一个int类型的变量,位于地址0x200处,它的十六进制值为0x12345678
12是最高有效位,78是最低有效位
大端表示法:
0x200 0x201 0x202 0x203
12 34 56 78
最高有效位在前
小端表示法:
0x200 0x201 0x202 0x203
78 56 34 12
一般来说Intel兼容机使用小端法,IBM和ORACLE大型机使用大端法,某些ARM处理器使用双端法,但在IOS和android下一班使用小端法。
2.编写程序确定机器的字节序
#include<stdio.h>
int EndianChec()
{
int a=0x123456;
//要检验其使用的是大端法还是小端法,看它的第一个字节
//是不是高有效位,这里可以获取首地址,并用char指针
//指向它,然后将第一个字节保存
char p=*(char*)&a;
if(p==0x12)
{return 1;}
else
//返回1代表大端法,0是小端法
{return 0;}
}
int main()
{
printf("%d",EndianChec());
return 0;
}