彻底搞懂“大小端”存储机制
2026/8/8 4:03:24 网站建设 项目流程

一、 核心概念:大端 vs 小端

在存储一个超过 1 字节的数据(比如int类型,占 4 字节)时,内存中字节的排列顺序有两种流派。

假设我们要存储十六进制数0xAB5C01FF

1. 小端存储 (Little-Endian)

  • 规则位字节存放在地址。
  • 口诀:“低低高高”。
  • 场景:大部分个人电脑(PC/x86架构)。
  • 内存样子
    地址:0x00 0x01 0x02 0x03 数据:FF 01 5C AB
    (注:FF是数值的最低位,被放在了内存的最低地址0x00)

2. 大端存储 (Big-Endian)

  • 规则位字节存放在地址。
  • 口诀:“低高高低”。
  • 场景网络传输标准、部分服务器架构。
  • 内存样子
    地址:0x00 0x01 0x02 0x03 数据:AB 5C 01 FF
    (注:这与我们的书写阅读顺序完全一致,非常符合人类逻辑)

二、 代码实战 1:验证0xAB5C01FF的存储

笔记中提到了0xAB5C01FF这个特定的数字。我们写一段 C 代码,亲眼看看它在你的电脑内存里到底长什么样。

代码 (endian_check.c)
#include<stdio.h>intmain(){// 定义笔记中的示例数值unsignedintnum=0xAB5C01FF;// 使用 unsigned char 指针指向 num 的首地址// 这样可以按字节访问内存unsignedchar*ptr=(unsignedchar*)&num;printf("原始数值: 0x%X\n",num);printf("--------------------------------\n");printf("内存地址 (低 -> 高) | 存储内容\n");printf("--------------------------------\n");for

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询