菜鸟笔记
提升您的技术认知

大端存储和小端存储

一、大端存储

高字节数据存储在低地址。

二、 小端存储

低字节数据存储在低地址

注意:无论是大端存储还是小端存储,读取到的数据为0x0102030405

三、大端存储或小端存储都是由系统设定的,其二者区别在于低地址存储的数据,因此可以写程序进行判断。

#include <stdio.h>
#include <stdlib.h>

typedef union
{
  
    //共用体 成员公用一个空间,空间为共用体中的最大类型
    unsigned short data;
    unsigned char buf[2];
    
}DATA;


int main()
{
  
   DATA a;
   a.data=0x0102;
   if(a.buf[0]==0x01 && a.buf[1]==0x02){
  
       printf("大端存储\n");
   }
   else if(a.buf[0]==0x02 && a.buf[1]==0x01){
  
       printf("小端存储\n");
   }
   else{
  
       printf("未识别\n");
   }
    
    
    return 0;
}