前言:一直没有总结大小端的问题,今天借这个机会把大小端的问题总结下
1 、概念
小端:低字节存放在内存的低地址段,高字节存放在内存的高地址段。
大端:高字节存放在内存的低地址段,低字节存放在内存的高地址段。
2、出现这两种模式的原因
采用大端方式进行数据存放符合人类的正常思维,而采用小端方式进行数据存放利于计算机处理。但是到目前为止,采用大端或者小端进行数据存放,其孰优孰劣到现在也 没有定论。
3、判断当前处理器的大小端模式方法
利用联合体就能轻易的判断出当前处理器的大小端模式,其原因很简单,联合体的成员都是从低字节开始存放。
4、利用联合体判断大小端代码
#include<stdio.h>
int main(int argc, char **argv)
{
union n
{
int a;
char b;
}c;
c.a = 1;
printf("%d",c.b);//如果输出地结果是1 说明该处理器采用的是小端模式否则为大端模式
return 0;
}