当前位置: 首页 > ds >正文

什么是大端序,什么是小端序,如何记忆它们!!!

小端序(Little-Endian) 和 大端序(Big-Endian) 是计算机中多字节数据在内存中的两种存储方式,具体区别及记忆方法如下:


1. 定义

  • 大端序(Big-Endian)

    • 高位字节存于低地址,低位字节存于高地址。

    • 示例:数值 0x12345678 在内存中存储为 12 34 56 78(从左到右为低地址到高地址)。

  • 小端序(Little-Endian)

    • 低位字节存于低地址,高位字节存于高地址。

    • 示例:数值 0x12345678 在内存中存储为 78 56 34 12


2. 记忆技巧

(1) 名称联想
  • 大端序

    • “大”对应“高位优先”,即 最高有效位(Most Significant Byte, MSB) 放在内存起始(低地址)。

    • 类似书写顺序:从左到右,高位在前(如数字 1234 写作 1(千位)在前)。

  • 小端序

    • “小”对应“低位优先”,即 最低有效位(Least Significant Byte, LSB) 放在内存起始(低地址)。

    • 类似反序书写:从右到左,低位在前(如数字 1234 写作 4(个位)在前)。

(2) 生活比喻
  • 大端序
    类似于日期格式 “年-月-日”(高位优先),例如 2023-10-05

  • 小端序
    类似于日期格式 “日-月-年”(低位优先),例如 05-10-2023

(3) 实际例子
  • 数值 0xA1B2 的存储

    • 大端序:内存顺序为 A1 B2(高字节 A1 在前)。

    • 小端序:内存顺序为 B2 A1(低字节 B2 在前)。


3. 应用场景

  • 大端序

    • 网络传输(网络字节序)、Java虚拟机、PowerPC处理器。

  • 小端序

    • x86/x64架构(Intel/AMD处理器)、ARM处理器(可配置)。


4. 验证方法(C语言示例)

通过代码查看整型数值在内存中的字节顺序:

#include <stdio.h>int main() {int num = 0x12345678;unsigned char *p = (unsigned char *)#printf("内存字节顺序:");for (int i = 0; i < sizeof(num); i++) {printf("%02X ", p[i]);}return 0;
}
  • 大端序输出12 34 56 78

  • 小端序输出78 56 34 12


5. 总结

  • 大端序:高位在前,适合人类阅读习惯。

  • 小端序:低位在前,硬件处理更高效。

  • 记忆口诀
    “大端高位先,小端低位前;网络用大端,Intel是小端。”

通过名称联想、生活类比和代码验证,可牢固掌握两者的区别与应用场景。

http://www.xdnf.cn/news/9373.html

相关文章:

  • 2025最新Gemini 2.5 Pro API限制全面解析:最完整的使用指南与优化方案
  • 2025年 RPM软件包常用安装指南
  • mcc Mnc gid1 gid2
  • Dalvik虚拟机、ART虚拟机与JVM的核心区别
  • 爱德华iH80iH160iH600iH1800HTXNRV真空泵系统手侧
  • Solana账户创建与Rust实践全攻略
  • C++类继承详解:权限控制与继承方式解析
  • Linux下目录遍历的实现
  • 各个链接集合
  • 在h5端实现录音发送功能(兼容内嵌微信小程序) recorder-core
  • java-jdk8新特性Stream流
  • 交叉编译工具链冲突
  • nRF Connect SDK开发之(2)编译一个例程
  • 分布式系统
  • ORB-SLAM2学习笔记:ORBextractor的构造函数详解
  • HOW - 从0到1搭建自己的博客站点(四)
  • 10.2sql
  • python-正则表达式
  • 与 PyCharm 官方沟通解决开发环境问题记录(进展:官方已推出2个新的修复版本)
  • C语言-文件
  • IEEE Journal on Selected Areas in Communications 2025年论文整理2(中英文摘要)
  • IPv4地址的主要配置项介绍
  • 14. LayUI与Bootstrap框架使用
  • JS手写代码篇---手写promise.all
  • Python条件语句完全指南:从if-else到模式匹配
  • 鸿蒙OSUniApp 实现带搜索功能的下拉菜单#三方框架 #Uniapp
  • 实验设计与分析(第6版,Montgomery)第3章单因子实验:方差分析3.11思考题3.1 R语言解题
  • PIO 也有并发喔,巧用SIDE-SET
  • 解决Qt 打包的软件缺少dll问题
  • 《计算机组成原理》第 4 章 - 存储器​