大小端高位低位字节的理解

汇编机器码分析,同一对象不同字节在内存中的存储位置(大小端讨论) 一、测试环境: vs2008 二、测试代码 int gi; void main() { gi = 12; } 三、分析: 使用VS的发汇编功能,查看上面那段代码的汇编程序(这里主要分析 gi = 12; 这条C语句的反汇编),结果如下:     从反汇编中,我们主要可以得出以下信息: (1)0x00c9138E 是 赋值指令mov的存放地址 阅读详情
AI摘要

本文介绍了数据存储中的高低位概念,指出通常左边为高位右边为低位,例如16位数据FF1A的高位字节为FF,低位为1A。同时,解释了32位数据的高低字表示。在地址空间中,从0x00000000到0xfffffff,地址增长方向向上,00000000为低地址,ffffff为高地址。接着,文章讨论了大端和小端模式,大端模式将高位字节存放在低地址,小端模式则相反。通过对高低位、地址空间和字节序的理解,有助于深入掌握数据处理原理。

字节高低位:

一般左边为高位 右边为低位(这个高低来自于人类的阅读习惯,数字从左向右,表示由大到小)

一般一个16位(双字节)的数据,比如 FF1A (16进制)
那么高位字节就是FF,低位是1A

如果是32位的数据,比如 3F68415B
高位字(不是字节)是3F68
低位字是415B

右边是低位位,左边是高位(人的阅读习惯)

高低地址:

借用Linux进程地址空间布局:
在这里插入图片描述
地址从0x0000000到0xfffffff,地址增长的方向是向上的,0000000就是低地址,ffffff就是高地址。


大端小端模式:

大端模式:是指一个数据的低位字节序的内容放在高地址处,高位字节序存的内容放在低地址处。

如:一个数0x12345678存放在一个4字节空间里
在这里插入图片描述
小端模式:是指一个数据的低位字节序内容存放在低地址处,高位字节序的内容存放在高地址处。
在这里插入图片描述
0x12345678中,1234属于高位,如果低地址的第一个字节存的0x12则是高位字节存储在了低地址,是大端模式。
在这里插入图片描述

CAN通讯中的摩托罗拉(Motorola)和因特尔(Intel)格式 CAN通讯中的Motorola和Intel格式主要区别在于字节序的不同。Motorola格式采用大端模式,Intel格式采用小端模式。这种差异在跨字节的数据处理中尤为重要,因此在实际应用中需要根据具体需求选择合适的格式,并在解析报文时明确所使用的字节序格式。 阅读详情

相关推荐

组态王modbus协议中常用高低字节调整的几种方法

modbus驱动的中调整高低字节方法

weixin_56922362的博客 1万+

高位字节与低位字节简单介绍

一般一个16位(双字节)的数据,比如 FF1A (16进制) 那么高位字节就是FF,低位是1A 如果是32位的数据,比如 3F68415B 高位字(不是字节)是3F68 低位字是415B 右边是低位位,左边是高位 C语言中的高位字节和低位字节是什么意思? 通常我们从最高有效位(most significant digit)开始自左向右书写一个数字。在理解有效位这个概念时,可以想象一下你的支票数额的第一位增加1和最后一位增加1之间的巨大区别,前者肯定会让你喜出望外。 计算机内存中一个字节的位相当于二进制数

BUG之友的博客 2万+

【自动驾驶】什么是高字节?什么是低字节?

高字节(High Byte):在一个多字节数据中,高字节是包含最高有效位的字节。例如,对于一个16位(2字节)数据,高字节是高8位的部分。低字节(Low Byte):在一个多字节数据中,低字节是包含最低有效位的字节。例如,对于一个16位(2字节)数据,低字节是低8位的部分。

小秋 AI SLAM 入门实战教程 2296

什么叫高字节,什么叫低字节

什么叫高字节,什么叫低字节

qq690452074的专栏 5979

机器学习(三) ----------线性回归算法(梯度下降+正则化)

线性回归算法在机器学习中具有核心地位,它以其简单性和直观性为基础,为理解数据间的关系提供了基本框架。作为许多复杂算法的基础,线性回归不仅用于预测目标变量,还用于解释自变量对目标的影响。同时,它也是机器学习入门的经典算法,对于推广机器学习知识和技术具有重要意义。

2301_77539454的博客 1868

论文分享|ECCV2022,PATnet,Cross-Domain Few-Shot Semantic Segmentation,CDFSS新基准,文末有复现教程

这篇论文提出的跨域小样本语义分割(CD-FSS)任务,旨在将源域学习的分割能力迁移到目标域,仅需少量标注样本。针对传统小样本分割方法在跨域场景性能下降的问题,作者提出了基于金字塔锚点变换的网络(PATNet),通过将域相关特征转换为域无关特征,并引入任务自适应微调推理(TFI)提升目标域适应能力。实验表明,PATNet在1-shot和5-shot设置下分别比现有方法提升8.49%和10.61%的准确率。同时,作者构建了CD-FSS基准并设计了任务难度评估指标。代码和数据集已开源,复现难度中等。

m0_74277350的博客 1097

C语言中的大小端问题

大端模式(大端字节序存储):就是高位字节数据存放在内存的低地址端,低位字节数据存放在内存的高地址端。小端模式(小端字节序存储):就是低位字节数据存放在内存的低地址端高位字节数据存放在内存的高地址端。【大端】和【小端】表示多字节值的哪一端存储在该值的起始地址处;

2402_88991786的博客 1214

S32K344 Flash Driver实战:手把手教你实现任意字节写入与扇区解锁(含C40_Ip避坑指南)

本文深入解析S32K344微控制器的Flash驱动开发,重点解决C40_Ip驱动库的8字节对齐限制和扇区保护锁问题。通过实战案例和代码示例,详细介绍了如何实现任意字节写入、扇区解锁及性能优化策略,为Bootloader和OTA升级等应用提供可靠解决方案。

weixin_33713707的博客 432

【数据存储】大端存储 小端存储(超详细解析,小白一看就懂!!!

*✨注意:**

2401_89872625的博客 4460

Python实战:用jieba和WordCloud打造电商评论情感分析工具(附完整代码)

本文详细介绍了如何使用Python的jieba分词和WordCloud库构建电商评论情感分析工具,涵盖数据预处理、情感分析、可视化展示等关键步骤,并提供完整代码实现。通过该工具,开发者可以高效分析电商评论数据,挖掘消费者情感倾向,为产品改进和决策提供数据支持。

weixin_30316097的博客 415

Autosar EcuM配置-初始化及下电执行函数-基于ETAS软件

Autosar EcuM学习笔记-上电初始化执行函数及下电前执行函数,本文介绍在EcuM中的配置及使用。

赞的博客 851

大小端和数的高低位相关问题

如果你有具体场景(比如16位寄存器、网络字节流、STM32通信等),我可以给你更精确的判断方法。

2502_93869639的博客 1071

[QMT量化交易小白入门]-二、如何用miniQMT获取沪深A股的板块列表、历史行情数据和实时行情数据

本专栏主要是介绍QMT的基础用法,常见函数,写策略的方法,也会分享一些量化交易的思路,大概会写100篇左右。QMT的相关资料较少,在使用过程中不断的摸索,遇到了一些问题,记录下来和大家一起沟通,共同进步,自己淋过雨了,希望大家都有一把伞。

木头大左的博客 5659

嵌入式C语言基础知识--位操作(串口&IIC通信发送格式)

大端模式、小端模式、高字节序、低字节序、MSB、LSB 编程知识_字节序_位操作 内存的读写永远是从低地址开始读写,从低到高。 大小端模式: 以unsigned int value = 0x12345678为例,分别按照大端模式和小端模式存放在芯片中。 内存地址 0x00000001 0x00000002 0x00000003 0x00000004 大端模式 0x12 0x34 0x56 0x78 小端模式 0x78 0x...

woshizuopie的博客 3378

华为OD统一考试 - 模拟消息队列(Java & Python& JS & C++ & C )

让我们来模拟一个消息队列的运作,有一个发布者和若干消费者,发布者会在给定的时刻向消息队列发送消息,

算法大师! 3519

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

c语言大小端序怎么判断,C语言验证大小端的几个方法

原标题:C语言验证大小端的几个方法大小端的问题在很多面试笔试中都会遇到,最直接的考察是,笔试的时候,让你写一个代码,如何确定当前系统是大端还是小端的。什么是大端和小端呢?大端:高位字节排放在内存的低地址端,低位字节排放在内存的高地址端。(CPU对操作数的存放方式是从高字节到低字节)小端:低位字节排放在内存的低地址端,高位字节排放在内存的高地址端。(CPU对操作数的存放方式是从低字节到高字节)假设我...

weixin_28454475的博客 998

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

大端和小端字节序(易混淆)

在说明大端和小端字节序之前,我们需要记住的几点: ① 在描述大小端字节序的时候,我们统一是从左向右表示计算机地址递增,如下是表示连续的四字节地址空间: ② 大端表示人类思维模式,小端表示计算机思维模式,“人大于计算机,所以人是大端”(这样会不会好记一些),大端和小端存在必要就是为了方便人和计算机之间的数据表示,就好像高级语言和机器语言一样,人可以轻易读懂高级语言,但计算机要读懂它,需要先将其转换为机器语言。 ③ 地址空间是以一个字节为单位组织的,所以在存储字节的时候也是根据1字节为单位。 现在来看一个

MARS_098的博客 746

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

学习笔记(02):汇编语言程序设计II-内存中字的存储

汇编语言是一门低级程序设计语言,在数以千计的计算机语言中,有着不可替代的重要地位,广泛地用于开发操作系统内核、设备驱动程序等。随着近年来物联网、嵌入式系统的发展,汇编语言在行业中的地位也再次攀升,在2017年1月的TIOBE排行榜上,再次进入前十。对大多数学习计算机的人士而言,是理解计算机系统核心知识的一个桥梁,在人才培养中也起着特殊的作用。课程面向计算机初学者,介绍汇编语言程序设计基础的部分。...

weixin_43662369的博客 371

网络程序总结之大小端

大端:和我们正常写的一样;(虽然解释起来相反,低字节在高位,高字节在低位,可以参考下图来理解); 小端:低字节在低位,高字节在高位; 该图来自添加链接描述 我们可以这么考虑,在存储的时候,我们左边为低地址,右边为高地址,因此当我们使用将低字节存储在高位时,恰好放在了右边,使得和我们阅读习惯刚好相同。 计算机中按字编址,一个字中可能会存在多个字节,我以前给理解错了,以为是整个程序按照低字放在高位或者低位,原来是字的存储顺序大小端没有区别,在字内,大端是按照字节,低字节放在字的高位字节,高字节放在字的低位字节

weixin_43684831的博客 175

判断计算平台的大小端C语言,【转】 CPU大小端

大端模式,是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中;小端模式,是指数据的低位保存在内存的低地址中,而数据的高位保存在内存的高地址中。为什么会有大小端模式之分呢?这是因为在计算机系统中,我们是以字节为单位的,每个地址单元都对应着一个字节,一个字节为8bit。但是在C语言中除了8bit的char之外,还有16bit的short型、32bit的long型(要看具体的编译器)...

weixin_39762348的博客 231

03-01-数制、二进制运算与字节序 ———— 秋招、实习 小知识点复习

03-01-数制、二进制运算与字节序 ———— 秋招、实习 小知识点复习

脑子不好的小菜的博客 65

什么是大端和小端

大小端

old_boywl的博客 871

基础知识之 结构体内存对齐,联合体,枚举,大小端

本文介绍了C/C++中三种复合数据类型的特点及应用: 结构体:作为自定义类型,需注意内存对齐规则(成员偏移量为对齐值整数倍,默认按最大成员对齐),合理排序成员可节省空间。示例展示了通过调整顺序将结构体大小优化为8字节。 联合体:所有成员共享内存空间,大小为最大成员尺寸,适用于互斥数据存储(如同时只需int或float的场景),比结构体更节省内存。 枚举:本质是具名整型常量集合,默认从0递增,C++11支持指定底层类型(如uint8_t)。另通过int转char*检测大小端模式,小端机器低地址存数据低位。

2403_87165176的博客 914

大小端与高位先行、低位先行

近期学习嵌入式过程中混淆了大小端和高位先行、低位先行的区别,现总结如下。 首先解释大端小端模式。大端模式即高位字节存放在低地址中,低位字节存放在高地址中;小端模式相反,高位字节存放在高地址中,低位字节存放在低地址中。用图表示更加容易理解。如下图,我们将数据0x01020304分别按照大端模式和小端模式存放在芯片中。 内存地址 0x00000004 0x00000003 0x0...

u013073067的博客 1万+
上一篇: 徒手搭建Git服务器
下一篇: Zookeeper之CRUD(Golang)
Time-Traveler
博客等级 码龄10年 79粉丝 117原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值