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

字节序浅析

定义

uint32_t value = 0x12345678 /* 如果该value保存在地址 0x20010010*/
/* 小端序:低字节在低地址 即0x78的实际地址为 0x20010010*/
/* 大端序:低字节在高地址 即0x12的实际地址为 0x20010010*/

内存

堆空间

  • 一般模型下地址都是从低地址到高地址进行增长的,即堆内存的申请所获取的地址是处于一个递增的情况;
  • 但是每次申请完成后,都是属于内存自己的管理,和架构无关,例如malloc 4 字节内存空间,重复两次;即获取两个地址分别为 0x21010010 0x21010014;但赋予数据后,内部还是小端序。

栈空间

  • 一般模型下地址都是从高地址到低地址进行增长的,即局部临时变量所获取的地址是处于一个递减的情况;
  • 但是每次申请完成后,都是属于内存自己的管理,和架构无关,例如malloc 4 字节内存空间,重复两次;即获取两个地址分别为 0x20010010 0x2001000c;但赋予数据后,内部还是小端序。

数组

  • 数组的元素地址都是递增的和堆栈空间无关,只有存在u8数组和u32数组切换时需要注意字节序的问题

结构体

  • 结构体内部成员的定义在内存中也是从低字节到高字节,即从上到下的定义实际在内存中是从低地址到高地址的变化[结构体的内存布局规则, 和大小端无关]
    struct {          // 拆分低字节和高字节(小端模式)uint8_t lowByte;   // 低字节(第一个字节)uint8_t highByte;  // 高字节(第二个字节)
    };
    

位域(bit序)与字节序的关联细节

位域的“bit序”(即结构体中定义的位成员与实际字节中位的对应关系)没有统一标准,但通常会间接目标架构的字节序习惯保持一致,形成“字节序→bit序”的适配关系,具体表现为:

1. 小端架构下的bit序(常见情况)

在小端模式(低字节存低地址)的架构(如x86)中,编译器通常将位域按“从低到高”的顺序映射到字节的位:

  • bit0 → 字节的最低位(LSB,值为1时对应0x01)
  • bit1 → 字节的第1位(值为1时对应0x02)
  • ...
  • bit7 → 字节的最高位(MSB,值为1时对应0x80)

示例代码(小端系统):

struct BitField {uint8_t bit0:1;uint8_t bit1:1;uint8_t bit2:1;uint8_t bit3:1;uint8_t bit4:1;uint8_t bit5:1;uint8_t bit6:1;uint8_t bit7:1;
} bits;
http://www.jsqmd.com/news/41222/

相关文章:

  • 2025 最新无缝钢管厂家推荐榜:国际测评认证 + 技术创新 + 全场景适配权威指南大口径无缝钢管/16Mn 无缝钢管/定制无缝钢管/厚壁无缝钢管公司推荐
  • 2025年硫酸钠流化床干燥机源头厂家权威推荐榜单:调味品振动流化床干燥机/大豆纤维流化床干燥机/味精振动流化床干燥机源头厂家精选
  • 2025 最新钢结构源头厂家推荐排行榜,聚焦优质供应与专业服务精选榜单美标 / 欧标钢结构 / 环保设备 / 水泥矿山 / 机械设备钢结构厂家推荐
  • 当下市面上靠谱的平移门服务商
  • 2025年11月中国伸缩门源头厂家口碑推荐榜单
  • 简单了解数组
  • 2025年目字扣订制厂家权威推荐榜单:塑料扣具/箱包插扣/五金插扣源头厂家精选
  • # 第10章 指针和结构体
  • 2025年步进式加热直饮水机订制厂家权威推荐榜单:奶茶店全自动烧水器/大型工业净水器/饭店专用开水器源头厂家精选
  • 2025 最新钢结构厂家推荐排行榜,涵盖全产业链服务与优质产能企业权威甄选钢结构建筑/钢结构房屋/钢结构屋面/钢结构网架/钢结构桁架/钢结构连廊公司推荐
  • 2025 年 11 月漆渣脱水系统,漆渣脱水机,漆渣脱水装置品牌最新推荐,产能、专利、环保三维数据透视!
  • Convex
  • 2025年全自动无屑切割倒角一体机实力厂家权威推荐榜单:自动化切割倒角一体机/切割倒角一体机/自动切割倒角一体机源头厂家精选
  • 2025 年 11 月喷漆废水处理工艺,喷漆废水处理技术改造,喷漆废水处理运维服务公司最新推荐,聚焦资质、案例、售后的五家机构深度解读
  • 2025 国内网架厂家最新推荐排行榜:聚焦钢结构 / 球形 / 螺栓球多场景,甄选技术服务双优的权威品牌指南
  • 【题解】P4707 重返现世
  • Flink Data Sink 理论 、架构、语义保证、两阶段提交与可插拔拓扑 - 指南
  • 滞留卡常题
  • 2025年推拉窗源头厂家权威推荐榜单:性价比门窗/系统窗/自建房门窗源头厂家精选
  • Cursor ai network issue workaround in Ubuntu 22.04
  • 2025 年漆渣脱水设备厂家最新推荐榜单:优质品牌厂家工艺系统装置全解析,助力企业高效环保处置漆渣脱水系统/漆渣脱水机/漆渣脱水装置厂家推荐
  • 2025 最新喷漆废水处理公司推荐!喷漆废水处理设备 / 药剂 / 工艺 / 循环回用系统优质品牌榜单,含技术改造与运维服务厂家优选
  • [KaibaMath]1024 丑陋的真子集符号⫋的由来
  • 安装Ubuntu
  • 完整教程:VScode 入门(设置篇)
  • 微服务架构中的 Token 工作机制详解
  • [KaibaMath]1023 柯西不等式的简洁证明
  • 2025 最新网架厂家权威排行榜:焊接球 / 螺栓球 / 大跨度等多类型网架实力企业最新推荐
  • WEB集群-HTTP概述与Nginx部署
  • 实战内容