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

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

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

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

右边是低位位,左边是高位

C语言中的高位字节和低位字节是什么意思?
通常我们从最高有效位(most significant digit)开始自左向右书写一个数字。在理解有效位这个概念时,可以想象一下你的支票数额的第一位增加1和最后一位增加1之间的巨大区别,前者肯定会让你喜出望外。

计算机内存中一个字节的位相当于二进制数的位,这意味着最低有效位表示1,倒数第二个有效位表示2×1或2,倒数第三个有效位表示2×2×1或4,依此类推。如果用内存中的两个字节表示一个16位的数,那么其中的一个字节将存放最低的8位有效位,而另一个字节将存放最高的8位有效位,见图10.5。存放最低的8位有效位的字节被称为最低有效位字节或低位字节,而存放最高的8位有效位的字节被称为最高有效位字节或高位字节。
高位字节 低位字节
↓--------------------------↓ ↓---------------------------↓

15 14 13 12 11 10 9. 8. 7. 6. 5. 4. 3. 2. 1. 0.

16位和32位的数是怎样存储的

一个16位的数占两个字节的存储空间,即高位字节和低位字节(见10.5中的介绍)。如果你是在纸上书写一个16位的数,你总是会把高位字节写在前面,而把低位字节写在后面。然而,当这个数被存储到内存中时,并没有固定的存储顺序。

如果我们用M和L分别表示高位字节和低位字节,那么可以有两种方式把这两个字节存储到内存中,即M在前L在后或者L在前M在后。把M存储在前的顺序被称为“正向(forward)”或“高位优先(big—endian)”顺序;把L存储在前的顺序被称为“逆向(reverse)”或“低位优先(little—endian)”顺序。

big—endian这个术语的含义是数的“高位(big end)”存储在前,同时这也是对《Gulliver’sTravels》这本书中的一个词的引用,在该书中big—endian一词是指那些从大头开始吃一个煮鸡蛋的人。

大多数计算机按正向顺序存储一个数,Intel CPU按逆向顺序存储一个数,因此,如果试图将基于Intel CPU的计算机连到其它类型的计算机上,就可能会引起混乱。

一个32位的数占4个字节的存储空间,如果我们按有效位从高到低的顺序,分别用Mm,Ml,Lm和Ll表示这4个字节,那么可以有4!(4的阶乘,即24)种方式来存储这些字节。在过去的这些年中,人们在设计计算机时,几乎用遍了这24种方式。然而,时至今天,只有两种方式是最流行的,一种是(Mm,MI,Lm,LD,也就是高位优先顺序,另一种是(Ll,Lm,Ml,Mm),也就是低位优先顺序。和存储16位的数一样,大多数计算机按高位优先顺序存储32位的数,但基于Intel CPU的计算机按低位优先顺序存储32位的数。

大小端字节序介绍以及判断当前环境字节序的程序【C语言】 文章目录1.大小端字节序介绍2. 判断当前环境的字节序程序 1.大小端字节序介绍 首先我们先来介绍什么是大端字节序,什么是小端字节序: 大小端字节序指的是数据在电脑上存储的字节顺序 小端字节序存储:把一个数字的低位字节的内容,存放在内存的低地址处。 把高位字节的内容存放在内存的高地址处。 大端字节序存储:把一个数字的低位字节的内存,存放在内存的高地址处。 把高位字节的内容存放在内存的低地址处。 下面我们来看两幅图: 我们在调试内存窗口取出a的地址,发现低地址(EFA14)寸的是低位字节(44),高地址( 阅读详情

相关推荐

【主存中存储单元地址的分配】超级详细的相关知识总结,字节比特相关单位换算,主存,存储容量,高位字节,低位字节,高地址,低地址,大端序,小端序,字地址,寻址范围

字节比特相关单位换算,主存,存储容量,主存中存储单元地址的分配,高位字节,低位字节,高地址,低地址,大端序,小端序,字地址,寻址范围

m0_57549888的博客 1万+

如何判断机器的字节顺序是高字节在前还是低字节在前

如何判断机器的字节顺序是高字节在前还是低字节在前 机器的字节顺序是高字节在前还是低字节在前,又称为大端小端。什么是大/小端呢?所谓大端就是指高位值在内存中放低位地址,所谓小端是指低位值在内存中放低位地址。比如0x11223344在大端机上是11223344,在小端机上是44332211,而一个机器是大端还是小端要看cpu类型以及运行在上面的操作系统。同一款cpu在不同的操作系统使用的大小端情况是不同的。 实用场景 1.机器与机器之间进行通讯时 那么问题来了,我们如何确认我们的机器是高字节在前还是低字节在前,

姚宇的博客 3220

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

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

小秋 AI SLAM 入门实战教程 2293

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

一般左边为高位 右边为低位 一般一个16位(双字节)的数据,比如 FF1A (16进制) 那么高位字节就是FF,低位是1A 如果是32位的数据,比如 3F68415B 高位字(不是字节)是3F68 低位字是415B 右边是低位位,左边是高位 作者:亮亮_be3c 链接:https://www.jianshu.com/p/15a802e7669c ...

ALakers的博客 1万+

COMSOL金属氢化物-放氢过程

"层流"的出口设置压降函数,解决“找不到一致的初始值”问题,主要是一开始设置出口为1atm的话,压力场过渡太剧烈,不好找到初始解,要么就先算个稳态流场,这种也能求解。注:P0是根据实测PCT的插值曲线(函数名称为:p_iso)得到的,根据初始质量储氢量wtw0,和初始温度条件T0,然后根据函数p_iso(wtw0)*exp(-deltHd/R_const*(1/T0-1/303.15[K]))求解获得。若"初始步长"选择框不勾上,前面0~5s内的求解容易发散,然后求解失败。2、设置"达西定律"的。

qq_24800941的博客 1929

jmeter小白下载安装步骤

本文仅仅简单介绍了jmeter工具的下载安装,以及基础的操作步骤。

昔年@曦的博客 3492

大端格式和小端格式的,高位字节,低位字节

小端模式字节序的规律,字节和地址的对应关系 高字节-高地址 低字节-低地址 小端模式的好处体现在读取更加便利,因为读取时是从低地址开始读取,这样读取的速度更快。对于16进制数,0x10203040,按照常规数字写法,左边为高位,右边为低位,这里同理,高字节位就是10,低位字节就是40,记住左高右低。检测本机的那种模式的字节序可以通过一个小程序判断,观察高低字节位和高低地址 的对应关系,可以判断本机是大端还是小端模式的字节序。|-----高位----|-----低位-----||-低位-|-高位-|

weixin_39291964的博客 3806

椭圆 —— 从理论推导到最小二乘法拟合

前言 椭圆在高中数学里就开始提到,都是从标准方程开始如: x2a2+y2b2=1(a>b>0) \frac{x^2}{a^2}+\frac{y^2}{b^2}=1(a>b>0) a2x2​+b2y2​=1(a>b>0) 其中 aaa 为椭圆的长轴,bbb 为椭圆短轴。如长轴为 111 ,短轴为 0.50.50.5 的椭圆可以这样画出 ezplot('x^2/1^2 + y^2/0.5^2 = 1',[-1.5 1.5 -1 1]) grid on; 标准方程可以很方便

学徒浩子 2万+

将1个整数拆分成2个字符发送出去

void SplitTwoCharToSend(int iIn, unsigned char* ucSendData, int& iDataLen) { unsigned char ucH; unsigned char ucL;  ucH = (unsigned char)(iIn >> 8);//高位 ucL = (unsigned char)(iIn % ( 1 ucSendDa

Huhuang的专栏 911

PyTorch实战:用FGSM攻击MNIST分类器(附可视化对比)

本文通过PyTorch实战演示了如何使用FGSM对抗攻击方法攻击MNIST手写数字分类器。文章详细解析了FGSM攻击原理,提供了从环境搭建、模型准备到攻击实施、可视化对比的完整代码实战流程,并探讨了对抗样本的生成与模型鲁棒性评估。

3a9bq4r8t2y的博客 216

创新引入HAttention模块:提升YOLOv8小目标检测精度【YOLOv8】

YOLOv8在前几个版本的基础上进行了多项优化,特别是在模型的速度和精度上做了较大改进。改进的backbone:引入了更加高效的骨干网络(backbone)设计,如更深的网络层和更高效的特征提取模块。增强的Neck模块:使用了PANet等机制来更好地融合不同尺度的特征,增强了多尺度目标检测能力。增强的Head模块:包括多头检测头,以便针对不同大小的目标进行更精细的预测。尽管如此,YOLOv8仍面临着在小目标检测精度上不如大型目标的挑战,尤其在复杂背景或高密度目标环境下。

博客 2769

大小端的概念以及判断

在日常编程中,我们通常将数据视为一个整体,例如一个整数0x12345678。然而,计算机内存是按字节寻址的。当一个多字节数据(如整数、浮点数)需要存储时,它的各个字节如何排列在内存地址中,就引出了一个核心概念——,也称为。

2501_92542211的博客 476

Temporal Noise Reduction(TNR)时序去噪技术解析:原理、平台实践与工程调优路径

随着高画质夜景拍照和高清视频拍摄需求的持续增长,图像传感器在低照度环境下输出信号的噪声问题日益突出。相比空间域降噪(SNR),时序去噪(Temporal Noise Reduction, TNR)利用帧间信息进行融合处理,具备更高的信噪比提升效率及更强的边缘保护能力,已成为移动影像ISP链路中的核心环节。本文系统剖析TNR的算法原理、平台实现机制与工程调试路径,并基于实际开发案例分析其在不同场景下的效果差异及调优方法,为工程师提供从理论到实操的完整路径参考。

努力分享一些人工智能、计算机视觉、影像等相关的知识干货! 3199

如何判断计算机的大端储存还是小端

计算机的大端模式是数据的高位字节存储在低位地址中,而数据的低位字节则存储在高地址处,这也意味着数据的字节顺序与人类阅读习惯相似。在小端模式中,数据的低位字节存储在内存的低地址处,而高位字节存储在高地址处。这与人类的阅读习惯相反。

2402_84388251的博客 556

黑猫带你学eMMC协议第17篇:超详细的eMMC HS200 & HS400讲解

1 前言 1.1 声明 本文依据eMMC JEDEC5.1及个人工作经验整理而成,如有错误请留言。 本文结合eMMC JEDEC5.1协议手册查看效果更佳。 1.2 内容提要 本文大约6000字,主要内容有: 1.什么是emmc hs200/hs400? 2.什么是tuning?tuning的过程又是什么? 3.如何设置才能让emmc进入hs200 mode? 4.如何设置才能让emmc进入hs400 mode? 5.emmc关于HS200/HS400内部结构框图对比。 6.部分个人相关经验总结。

黑猫奥利奥的博客 1万+

【matlab】基于 Simulink 的空调恒温控制系统仿真建模

本文介绍了基于Simulink的空调恒温控制系统仿真建模方法。系统采用PID控制算法,通过传感器测量温度、控制器计算信号、执行器调节功率来实现恒温控制。文章详细阐述了Simulink模型搭建步骤,包括PID控制器、房间热力学特性模拟等模块的实现,并提供了测试流程和多种实际部署场景。该方法可有效验证控制算法性能,优化系统设计,适用于家用、商用、工业及汽车空调系统。未来可结合智能算法和节能优化技术进一步提升系统性能。

走向CTO的路上... 919

大小端字节序存储

大小端问题

lzygo1的博客 652

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

关于内存大小端的定义与检查方法

指低位的存储位置,低位存高地址为大端,低位存低地址为小端,可通过以下程序验证(利用union的特性) int checkSystem( ) {     union check     {         int i;         char ch;     } c;     c.i = 1;     return (c.ch ==1); } 如果当前系统为大端模式这个函数返

andy572633的专栏 981

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

网络传输大端序_大端、小端与网络字节序

大端(Big-Endian),小端(Little-Endian)以及网络字节序的概念在编程中经常会遇到。网络字节序(Network Byte Order)一般是指大端(Big-Endian,对大部分网络传输协议而言)传输,大端小端的概念是面向多字节数据类型的存储方式定义的,小端就是低位在前(低位字节存在内存低地址,字节高低顺序和内存高低地址顺序相同),大端就是高位在前,(其中“前”是指靠近内存低地...

weixin_33282146的博客 7928

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

大端与小端

高位数存放在高地址,低位数存放在低地址称为小端。 高位数存放在低地址,低位数存放在高地址称为大端。 如何判断大小端存放? int checkEnd() { int i = 0x12345678; char *c = (char *) &i; return ( *c == 0x12); }

qq_40315436的博客 272

大端序小端序

最近遇上好几次关于大端序、小端序的问题,记混了,想了好半天,得亏写对了 。今天总结一下,希望记住了。 大端序:数据的高位保存在内存的低地址中,而数据的低位,保存在内存的高地址中 小端序:数据的高位保存在内存的高地址中,而数据的低位,保存在内存的低地址中 测试编译器是大端序还是小端序的代码: #include using namespace std; int main(void) {

liyuye的专栏 879

Big-endian & Little-endian

#include <stdio.h>int main(void) { short int x; char x0,x1; x = 0x1234; x0 = ((char *)&x)[0];//低地址 x1 = ((char *)&x)[1];//高地址 printf("x0 = 0x%x , x1 = 0x%x\n",x0,x1 ); return

PI_sunyang的博客 338

判断系统大小端

#include <stdio.h> union { char ch; int i; }un; int main(void) { un.i = 0x12345678; if(un.ch == 0x12) { printf(“big endian\n”); } else { printf(“small endain\n”); } return 0; }

cs_colorfullife的博客 144

Little-endian big endian 端模式

big endian的意思就是高位在前,低位在后,little endian则相反.一言以蔽之,big-endian就是符合我们大脑的思考。而little-endian是符合机器处理的。不要想太多。 判断大头和小头的方法: #include             int   main(int   argc,   char   **argv)   {

真知在行动中沉淀,经验在学习中提升。 708

大端存储模式和小端存储模式的问题

前言 我们知道,数据存储在内存中是分大小端模式存储的。 那什么是大端模式,什么是小段模式? 又如何判断通过程序判断是大端模式呢? 为什么会有大端模式和小端模式呢? 注意:我的测试环境为vs2013。 文章目录前言大小端模式的定义为什么有大小端模式用程序判断计算机是大端模式还是小端模式 大小端模式的定义 首先观察一段小语句的代码: int main() { int a = 0x11223344;//以十六进制的方式存入a return 0; } 我们给 这语句打一个断点,按F5,指向看看内存中

呋喃吖的博客 379

大小端模式

大端模式、小端模式

L_30629685的博客 216
上一篇: USB标准请求
下一篇: USB的编码方式及时钟同步方式
自先沉稳~
博客等级 码龄8年 59粉丝 37原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值