大小端存储

0. 问题引入

  若定义 : int a  = 1;  我们知道 a 在内存存储时 应该为 0x 00 00 00 01,可是看内存里存的是 0x 01 00 00 00,这就是大小端存储的问题。

 

  

 

 

 

1.什么是大小端存储

  高字节和低字节:

  

  高地址和低地址:

  

 

 

 

       大端模式,是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中。

  小端模式,是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中。

  

 

 

 2 如何测试机器是大端模式还是小端模式

  1,利用指针来测试

 1 #include <stdio.h>
 2 
 3 int main()
 4 {
 5     int a = 1;
 6     char *p = (char*)&a; // 用char型指针访问第一个字节的内容
 7 
 8     if (*p == 1)
 9     {
10         printf("小端");
11     }
12     else
13     {
14         printf("大端");
15     }
16     return 0;
17 }
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » 大小端存储