大端与小端

发布时间:2026/9/9 22:52:50
大端与小端 1. 端模式起源端模式 (Endian) 起源于《格列佛游记》书中根据鸡蛋敲开的方式不同将所有人分为2类从圆头开始敲的人被归为 Big Endian从尖头开始敲的被归为 Little Endian。小人国的内战就是源于吃鸡蛋是是究竟从大头 (Big-Endian) 敲开还是从小头 (Little-Endian) 敲开。2. 大小端定义大端高地址存低字节低地址存高字节小端低地址存低字节高地址存高字节人类读写数据习惯是大端字节序大数据先读小数据后读。所以小端是反人类的方式3. 为什么有大小端计算机业界的Endian表示数据在存储器中的存放顺序。我们的编程语言定义了 charshortint等各种类型每一种类型占用的字节大小为124等。而我们的处理器的寄存器的宽度大于一个字节那么必然存在将多字节类型数据存入寄存器的顺序问题。例如数字12345678在寄存器大端存储顺序数字12345678在寄存器小端存储顺序由此可见CPU的大小端是有硬件架构决定的。常见的处理器大小端架构处理器端模式IntelX86Little-EndianPower-PCBig-EndianIBMBig-EndianARM默认 Little-EndianSTM32Little-Endian网络通讯协议采用的是Big-Endian4. 谁更好小端模式强制类型转换数据不需要调整字节内容。大端模式符号位判断固定为第一个字节容易判断正负便于人类阅读。总结大小端没有谁更优更劣各种优点就是对方劣势。5. 如何代码判断大小端#include QCoreApplication #include QDebug bool isLittleEndian(){ unsigned short a 0x1218; if ( (*(char*)a) 0x18){ return true; } else { return false; } } int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); if (isLittleEndian()) { qDebug() LitteEndian; } else { qDebug() BigEndian; } return a.exec(); }6. 大小端转换代码6.1. 使用宏转换#define BigLittleSwap16(A) ((((uint16)(A) 0xff00) 8) | \ (((uint16)(A) 0x00ff) 8)) #define BigLittleSwap32(A) ((((uint32)(A) 0xff000000) 24) | \ (((uint32)(A) 0x00ff0000) 8) | \ (((uint32)(A) 0x0000ff00) 8) | \ (((uint32)(A) 0x000000ff) 24))6.2. 使用函数转换大端转小端templateclass T T ConvertBigEndToLittleEnd(T big_end_value) { T little_end_value(0); int num sizeof(T); for (int i 0; i num; i) { little_end_value little_end_value 8; little_end_value | (big_end_value 0xFF); big_end_value big_end_value 8; } return little_end_value; }参考文献一文彻底弄懂大端与小端_kingforyang的博客-CSDN博客_大端小端C/C 大小端转换_HHT0506的博客-CSDN博客_c 大小端转换大小端及转换(C)_休息一下接着来的博客-CSDN博客_大小端转换

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询