1.大端模式:将数据的高字节保存至内存低地址处,低字节保存至内存高地址处。
2.小端模式:小端将数据的高地址保存至内存高地址处,低地址保存至内存低地址处。
3.至于为什么要区分大小端,这是因为在计算机系统中是以字节为单位的,每个地址单元都对应着一个字节,一个字节为8bit,但在c语言中除了8bit的char之外,还有16bit的short型,32bit的int型(具体取决于编译器),另外对于位数大于8位的处理器,例如16、32位的处理器,由于寄存器宽度大于一个字节,那么必然会存在着一个如何将多个字节安排的问题,因此就导致了大端存储模式和小端存储模式。
Eg:高字节——00000000——低字节
低地址——高地址
4.代码思路:将1存入内存当中,取出存储中第一个字节,若其值为1,则是小端存储,若为0,则是大端存储
5.实现大小端字节序
#include <stdio.h>
int My_lin()
{
int a = 1;
return *(char*)&a;
}
int main()
{
int ln = My_lin();
if (ln == 1)
{
printf("小端");
}
else
{
printf("大端");
}
return 0;
}