大小端模式

大小端模式一 大小端大端模式 内存高地址存放低字节小端模式 内存低地址存放低字节例如 Uint32i 0x 地址 大端 小端 0x00 12 78 0x01 34 56

一、大小端

大端模式:内存高地址存放低字节

小端模式:内存低地址存放低字节

例如:Uint32 i = 0x

地址  

大端  

小端   

0x00

12

78

0x01

34

56

0x02

56

34

0x03

78

12

二、为什么分大小端

各有优点

大端:高位在前,便于判断正负和大小;另外,一般芯片发送的接口都是高比特先发送

小端:cpu做数值运算中依次中内存中先去高位数据再到低位数据,计算更加高效

三、现状

x86、arm等芯片一般是小端(由cpu决定)

网络字节使用大端(网络上使用统一的网络字节顺序,可以避免兼容性问题),可以使用htons、htonl转换成网络字节

四、扩展:MSB和LSB(转)

最高有效位(MSB) 
指二进制中最高值的比特。在16比特的数字音频中,其第1个比特便对16bit的字的数值有最大的影响。例如,在十进制的15,389这一数字中,相当于万数那1行(1)的数字便对数值的影响最大。比较与之相反的“最低有效位”(LSB)

汇编中,比如8位2进制数,其中第一个1是MSB,第二个1是LSB。在计算机计算的时候用于判断的比如如果是整数那么小数点(实际上是没有小数点的,但就把那一位和下一位之间看作有)在LSB后面,如果是小数小数点在MSB后面,其中MSB在有符号数中又是符号位。

LSB(Least Significant Bit)是“最低有效位”。MSB(Most Significant Bit)是“最高有效位”。

如一个地址:

1(MSB)100 0011(LSB)

在网络通信方面,大家说的更多的是:“Big-Endian”和“Small-Endian”的问题。

MSB和LSB虽然跟这个事情看起来有点相似,但不是一回事。通常,一个芯片的管脚中,对于一个多比特的信号,比如32根的地址线,从低开始按0到31编个号。MSB就是31,LSB就是0。那么如果标记为:ADDR[31:0]就是MSB first的方式,如果标记为ADDR[0:31]就是LSB first的方式。

MSB LSB:起始地址为最高位, 最后地址为最低位。

LSB MSB:起始地址为最低位,最后地址为最高位。

比如AD中,8位,最低有效位指D0

程序判断大小端

bool is_little_end(void) { union test { char cTest[4]; uint32 test; }endTest; endTest.cTest[0] = 0x01; endTest.cTest[1] = 0x02; endTest.cTest[2] = 0x03; endTest.cTest[3] = 0x04; return (endTest.test > 0x0) ? true : false; } bool is_little_end(void) { union test { char a; uint32 b; }endTest; endTest.a = 1; return (endTest.b == 1) ? true : false; }

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/211258.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午10:51
下一篇 2026年3月18日 下午10:51


相关推荐

  • 11. OpenClaw 安全配置最佳实践

    11. OpenClaw 安全配置最佳实践

    2026年3月13日
    1
  • AI工作流三大神器对比:n8n/Coze/Dify完全选型指南

    AI工作流三大神器对比:n8n/Coze/Dify完全选型指南

    2026年3月13日
    8
  • 扣子 Coze 入门教程天花板!智能体+工作流搭建真的秒上手【附完整截图】 – 知识铺

    扣子 Coze 入门教程天花板!智能体+工作流搭建真的秒上手【附完整截图】 – 知识铺

    2026年3月13日
    3
  • cada0图纸尺寸_a0图纸尺寸[通俗易懂]

    cada0图纸尺寸_a0图纸尺寸[通俗易懂]a0图纸尺寸a0图纸尺寸问题:a0图纸尺寸答案:841mm*1189mm【相关阅读】1、什么是a0图纸a0图纸是一种很大的绘图纸,这种纸张比一般的复印纸要厚,也比一般的复印纸要黄一点,这种绘图纸一面比较光滑,适合画图用,另一面比较粗糙。但是很多人都感觉不出来,也看不出来。a0图纸广泛的运用于各种建筑设计,规划设计,工业设计,产品设计等等,很多这个专业的学生,从大一开…

    2022年6月20日
    77
  • Redis – 0、几款可视化工具

    Redis – 0、几款可视化工具不啰嗦 我们直接开始 1 命令行 1 1 iredis 利用 iredis 用 将 redis 通过 pipe 用 shell 的其他工具 比如 jq fx rg sort uniq cut sed awk 等处理 还能自动补全 高亮显示 功能很多 官网地址 2 可视化工具 2 1 桌面客户端版 2 1 1 RedisDesktop 这个工具应该是现在使用率最广的可视化工具了 存在时间很久 经过了数次迭代 跨平台支持 以前是免费的 现在为收费工具 试用可以有半个月的时间 官网地址

    2026年3月18日
    3
  • (数据库)数据库分类

    (数据库)数据库分类1.面向操作的关系型数据库典型性应用领域:ERP,CRM,信用卡交易,中小型电商数据储存方法:表格流行厂商:OracleDatabase,MicrosoftSQLServer,IBMDB2,EnterpriseDB(PostgreSQL),MySQL优点:完善的生态环境保护,事务保证/数据一致性缺点:严苛的数据模型界定,数据库拓展限制,和非结构型的结合应用较难。2.面向数据分析的关系型数据库典型性应用领域:数据仓库,商务智能,数据科学研究数据储存方法:表格流行厂商:OracleE

    2022年6月24日
    27

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号