1.为什么要有大小端字节序
数据在内存中存储时,超过一个字节时就有存储顺序的问题,按照不同的顺序我们分为大端字节序和小端字节序.
2.为什么要由大小端之分呢?
这是因为在计算机系统中我们是以字节为单位为的,每个字节都对应一个内存地址,一个字节相当于8个bit位,但是在C语言中我们有short类型占两个字节16个比特位,int类型占4个字节32个比特位等各种数据类型,对于大于8个字节的处理器,比如16位,32位或者64位等机器,寄存器大于一个字节,这就存在着如何将多字节安排的问题,也就有了大小端之分.
3.大端字节序和小端字节序的概念
大端模式:
是指将地位字节数据存放在高地址处,高位字节数据存放在低地址处
小端模式:
是指将低位字节数据存放在高地址处,高位字节数据存放在低地址处
4.写一个数据判断当前机器时大端模式还是小端模式
#include<stdio.h>
int main()
{
int a=1;
char * p= (char*)&a;
if(*p==1)
printf("小端");
else
printf("大端");
return 0;
}
上面就是大小端的介绍.