判断大端或小端

智能车小白也能懂:手把手教你用LM358和工字电感搭建电磁循迹模块(附PCB设计避坑) 本文详细介绍了如何利用LM358运放和工字电感搭建智能车电磁循迹模块,从电感选型、电路设计到PCB布局和焊接调试,提供全流程实战指南。特别针对新手常见问题,如信号干扰、电路饱和等,给出具体解决方案和参数配置,帮助智能车比赛爱好者快速掌握电磁循迹技术。 阅读详情

      当前的存储器,多以byte为访问的最小单元,当一个逻辑上的地址必须分割为物理上的若干单元时就存在了先放谁后放谁的问题,于是端(endian)的问题应运而生了,对于不同的存储方法,就有大端(big-endian)和小端(little- endian)两个描述。

大端与小端(MSB/LSB)

假设内存位置

        0x4000 : 0x12

        0x4001 : 0x34

表示值0x1234,那么这种方式为MSB, 即大端存储方式。

假设内存位置

        0x4000 : 0x34

        0x4001 : 0x12

表示值0x1234, 那么这种方式为LSB, 即小端存储方式。

        简单来讲:MSB在低地址,即大端(MSB)存储。LSB在低地址,即小端(LSB)存储。

        现在主流的CPU,intel系列的是采用的little endian的格式存放数据,而motorola系列的CPU采用的是big endian,ARM则同时支持 big和little,网络编程中,TCP/IP统一采用大端方式传送数据,所以有时我们也会把大端方式称之为网络字节序。

      特别需要注意的是,C/C++语言编写的程序里数据存储顺序是跟编译平台所在的CPU相关的,而JAVA编写的程序则唯一采用big endian方式来存储数据。这里我就只讨论C/C++语言的情况。

方式一:

bool isMSB()
{
	/* true returned if MSB */
	int iVal = 0x12345678;
	char *pCh = (char*)&iVal;
	return (*pCh == 0x12);

}
bool isLSB()
{
	/* true returned if LSB */
	int i = 0x12345678;
	char *c = (char*)&i;
	return (*c == 0x78);
}
方式二:

bool checkEnd()
{
	/* true returned if LSB */
	union
	{
		long a;
		char b;
	} u;
	u.a = 1;
	return (u.b == 1);
}

测试代码:

void main()
{
	cout<<"Big End: "<<isMSB()<<endl;
	cout<<"Litte End: "<<checkEnd()<<endl;

	int i = 0x01020304;
	char *c = (char*)&i;
	printf("%d %d %d %d\n",*c,*(c+1),*(c+2),*(c+3));
}

测试输出:

Big End: 0
Litte End: 1
4 3 2 1



Reference:

1,http://www.cnblogs.com/Romi/archive/2012/01/10/2318551.html

2,http://www.cnblogs.com/berry/articles/1588084.html

手把手教你学Simulink--基于飞行控制与稳定性的场景实例:多旋翼无人机在风扰动下的稳定性分析 本文介绍了使用Simulink仿真多旋翼无人机在风扰动下稳定性的方法。通过构建包含飞行器动力学模型、PID控制系统和环境模拟模块的仿真系统,分析了无人机在不同风速条件下的飞行性能。详细说明了从创建模型、设置动力学方程、设计PID控制器到添加风扰动模型的完整流程,并提供了性能评估指标。该方法可用于验证控制系统有效性,优化飞行稳定性参数,为无人机控制系统的设计和调试提供参考。 阅读详情

相关推荐

从理论到板级:FOC电机驱动硬件电路全链路设计解析

本文从硬件工程师视角,深度解析FOC电机驱动从理论到板级实现的全链路设计。重点剖析了电源保护、核心采样电路、三相逆变桥与驱动电路等关键硬件模块的设计要点与实战经验,强调硬件是FOC算法可靠运行的基石,并提供了PCB布局布线的核心原则,帮助开发者构建高性能、高可靠性的电机驱动硬件平台。

weixin_29240711的博客 332

大端模式、小端模式及其在Qt中的转换

大端模式和小端模式是计算机中经常涉及到的两种字节序,也有大端对齐、小端对齐、大尾、小尾等叫法。 一、起源 说起这两种模式,就不得不提一下大端(Big-endian)和小端(Little-endian)这两个英文上的起源。 “endian”一词来源于乔纳森·斯威夫特的小说格列佛游记。Lilliput和Blefuscu这两个强国在过去的36个月中一直在苦战。战争的原因:大家都知道,吃鸡蛋的时候,

usownh的专栏 3万+

英飞凌TC3xx--深度手撕HSM安全启动(三)--TC3xx HSM系统架构

TC3xx的HSM内核是一颗32位的ARM Cortex M3,主频可达100MHz,支持对称算法AES128、非对称算法PKC(Public Key Crypto) ECC256、Hash SHA2,以及TRNG(真随机数生成)。

认真搞搞汽车MCU 5741

【QT】Qt对大小端字节序的处理

1、Endian Order什么是大小端字节序(Endian Order)?以四字节十六进制整型数0x12345678为例,按照书写习惯,从左到右,高位在前,低位在后,我们称0x12为最高有效字节,0x78为最低有效字节,在存储这个数字时,需要四字节的地址空间,比如说从0x00到0x03,地址空间是从低地址0x00到高地址0x03的一段连续地址,那么,低地址存储最高有效字节的形式为大端(Big En

Making Life Better. Making Others Better. 2万+

一文吃透 ABAP RESTful Application Programming Model(RAP):从数据建模与行为,到业务服务暴露,再到服务消费

本文介绍了SAP ABAP统一编程模型RAP的核心架构与实践方法,通过构建完整的ZTRAVEL和ZBOOKING业务对象,演示了从数据建模、行为定义到服务暴露的全流程。文章详细说明了RAP三层架构(数据与行为层、服务提供层、服务消费层)的实现方式,包括CDS视图实体定义、行为定义(BDEF)中的事务能力声明、投影与服务绑定等关键步骤。特别强调了ABAP Cloud环境下的开发限制和最佳实践,如使用GUID和late numbering机制,以及如何通过EML语言操作业务对象。最后提供了完整的代码示例,展示了

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 521

LVGL嵌入式GUI工程化架构与多窗口实践

嵌入式GUI开发中,LVGL作为轻量级图形库,其核心价值在于高效渲染与事件驱动机制。理解LVGL的对象树模型、资源管理机制(如RAW图像、静态字体)和屏幕生命周期,是构建稳定界面的基础。结合FreeRTOS等实时操作系统,可实现低功耗、高响应的交互体验。典型应用场景包括智能电表、HMI人机界面、工业控制面板等对内存敏感、需长期运行的设备。本文以微信式多窗口架构为范例,深入解析LVGL工程化落地的关键路径:分层目录结构、窗口模块封装、状态机式登录逻辑、TabView多页导航及图表/仪表盘动态可视化,覆盖从资源

weixin_36001279的博客 88

大端小端判断

参考链接有3种方式,以下为最容易的方式: 联合体是共享内存,在联合体重定义一个char类型,一个int类型, 给int数据赋值为1,根据char的值是否为1就可以判断大小端了; 若char类型为1,则为小端; 若char类型不为1,则为大端; //判断大小端 static bool isLocalhostBigEndian(void) { union { int a; char b; } num...

wubw0585的博客 740

GStreamer中h264parse元素

h264parse是 GStreamer 中处理 H.264 视频流的关键元素,主要负责解析和准备 H.264 流以便后续处理。

深之JohnChen的专栏 1022

Python基础案例练习

python的一些基础经典案例 一、编写函数,接收字符串参数,返回一个元组,其中第一个元素为大写字母个数,第二个元素为小写字母个数。 def demo(s): result = [0, 0] #不能直接定义为元组,因为元组是不能对其中元素进行修改操作的。 for ch in s: if ch.islower(): result[1...

zag666的博客 1万+

基于STM32+华为云IOT设计的云平台监控系统_102

本次设计结合现代生活的具体需求,设计出一套基于华为云IOT设计的云平台监控系统,可以远程实时查看家里光照强度、温湿度等信息,支持在云端控制家里的电器设备,实现远程控制。

7643

【OpenClaw从入门到精通】第66篇:Skill开发进阶——从零打造一个跨境选品Skill(附完整代码)(2026实测版)

2026年跨境电商效率革命中,AI Agent已成为选品核心工具,但通用Skill难以适配个性化需求。本文以“跨境选品”为实战场景,从零讲解OpenClaw Skill的完整开发流程:从需求分析、目录结构设计、SKILL.md编写,到Python脚本开发(含1688商品搜索、销量分析、竞品对比核心功能),再到调试测试、安全审计与ClawHub发布。文中提供可直接复制的完整代码,覆盖多平台适配、异常处理、数据可视化等进阶功能,同时解决API调用、链接失效等实际问题。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 566

写一个C程序判断系统是32或64位、大端或小端字节序

一、判断系统是32位或64位32位处理器一次只能处理32位,也就是4个字节的数据,虚拟地址空间的最大值是4G。64位处理器一次能处理64位,也就是8个字节的数据,虚拟地址空间的最大值是16T。32位处理器:系统指针(32位 ),long(32位),int(32位),short(16位)64位处理器:系统指针(64位 ),long(64位),int(32位),short(16位)#include &...

xl365t 4404

【人脸识别】基于 Gabor+SVM和PCA+SVM实现人脸识别matlab源码含 GUI

1 简介 随着经济的快速发展,互联网的普及,信息安全逐渐被人们所重视。人脸识别技术作为保护信息安全的重要手段之一,也逐渐被研究学者所重视。人脸识别作为计算机视觉技术和生物特征识别技术的一个重要分支,模式识别与人工智能的一个重要领域,其主要任务是对静态图像或动态视频进行识别。如何快速的正确的对人脸进行识别是目前人脸识别课题的一个难题。人脸识别算法的选取直接关系到人脸识别的识别率。 本文首先介绍了国内外人脸识别的发展现状,并对人脸图像预处理方法进行了详细阐述。图像预处理的方法有很多,主要包括:灰度变换、图像锐

qq_59747472的博客 1136

判断主机字节序大端规则或小端规则方法

博客搬家,原地址:https://langzi989.github.io/2018/01/26/C语言判断主机字节序大端规则或小端规则方法/ 大端规则与小端规则 在计算机存储中存储字节的顺序有两种分别为大端规则和小端规则。 小端规则(littel endian):低序字节存储到内存较低的位置,即起始位置。 大端规则(big endian):低序字节存储到内存较高的位置,即高序字节存储到起始位置。...

langzi989的专栏 390

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

SAP B1中文培訓教材_SDK

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

【已解决】如何判断处理器是大端,或小端?

去年11月份的面试题,今天有空整理出来了,算是总结。 ************************************************************ 大端、小端指对操作数的存放,大端从高到低放,小端从低到高放。X86的intel平台为小端,单片机一般为大端。 举个例子: 操作数0x12345678在内存中的存放,假设从地址0x4000开始放。 大端: 内存地址

guomutian911的专栏 2301

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

判断主机操作系统是大端或小端(字节序)

1、简要说明   操作系统中内存都是从小(低)到大(高)排列的,就像看文字一样,从前(左)到后(右),是一个习惯上的行为(规定),当数据存储在内存中,由于操作系统环境的不同,对数据的管理/存储方式可能也有所不同,分为大端和小端两种模式,两者区别如下。 (1)小端:低地址存储数据低字节,高地址存储数据高字节,大部分操作系统为小端; (2)大端:低地址存储数据高字节,高地址存储数据低字节,存储和显示(人所看到)在数据方向上一致。 图1 大小端坐标^_^ 2、示例代码 #include <stdio.h&

十雨五风的博客 5795

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

如何判断Modbus协议(RTU和TCP)中使用的字节序(大端或小端)。

大端模式:高位字节先发送(常见于Modbus RTU和TCP)。小端模式:低位字节先发送(某些设备可能采用)。通过查看说明书中的示例数据或寄存器地址与数据的关系,您可以判断设备使用的字节序。如果说明书中没有明确说明,可以尝试实际测试数据传输顺序。

Yy468545的博客 2984

C语言 运用联合体判断当前机器为大端或小端

运用联合体判断当前机器为大端或小端运用联合体判断当前机器为大端或小端

YT的博客 257

字节序,小端存储大端存储,C语言程序判断小端存储或大端存储,什么是共用体,linux编译运行C语言程序

变量a是int类型,所以开辟4个字节的空间,把变量a的值拆分,把内容存入到这个四个字节的空间中。低位字节存储在低地址。高位字节存储在高地址。

分享计算机视觉,C++,网络摄像头研发,音视频开发,嵌入式等知识。 379

利用联合体(共用体)判断机器存储方式(大端存储或小端存储)

123

WOD_MAAYA的博客 1192

计算机基础:计算机的小端模式和大端模式

原创:https://www.jianshu.com/p/e2b9b7cf48e7 1. 为什么会有大小端之分? 内存里每个地址单元对应一个字节,一个字节为8位。那么我们的数据类型除了8位的char,还有16位的short等。超过了8位的它们在内存中应该如何存放呢?所以这就出现了大端模式和小端模式。 2. 大小端概念 大端模式:数据的高字节保存在内存的低地址中,低字节保存在高低址中。 小端模式:数据的高字节保存在内存的高低址中。 数值0x2211使用两个字节储存:高位字节是0x22,低位字节是0x11。 大

flying_ant2018的博客 874

如何判断CPU是大端还是小端

一、如何判断CPU是大端还是小端? 明白大端和小端的区别,实现起来就非常简单: #include union ut{    short s;    char c; }u; int main() {     if(sizeof(short) == 2){           u.s = 0x0102;           if(u.c == 1){

mark550的专栏 967

大端/小端

大小端模式,是电脑的一种存储模式。大端模式,是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,数据从高位往低位放;这和我们的阅读习惯一致。小端模式,是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中,这种存储模式将地址的高低和数据位权有效地结合起来,高地址部分权值高,低地址部分权值低。在乔纳森·斯威夫特。

zhuzhu_YT的博客 1502

大端与小端模式

大端模式:低地址存储高字节,高地址存储低字节; 小端模式:低地址存储低字节,高地址存储高字节。 如:0x1234,注意计算机是以字节为基本存储单位的。 大端: 0x12 0x34 小端:0x34 0x12 所以判断大小端的方法: int main() { unsigned short a = 0x1234; unsigned char* ch = (unsigned char*)&a;...

Android_chunhui的专栏 1279

大端模式-小端模式详解

大端模式(big endian),小端模式(little endian)指的是什么? **端(endian)**模式是指计算机中字节的存储顺序。地址的高低与字节的高位和低位的对应关系就有了大端和小端的区别。 假设我们声明一个int类型的变量,附上十六进制值。 int x=0x12345678//地址为0x100 大端模式:高位字节存放在低地址 0x100 0x101 0x102 0x103 12 34 56 78 小端模式:高位字节放在高地址 0x100 0x101 0x102

qq_41789960的博客 2221

嵌入式编程中,什么是大端?什么是小端?

小端模式CPU对操作数的存放方式是从低字节到高字节,也就是低地址存放低字节,高地址存放高字节。大端模式CPU对操作数的存放方式是从高字节到低字节,也就是高地址存放低字节,低地址存放高字节。引申:如何判断计算机处理器是大端还是小端?...

小肥羊快快跑 1628
上一篇: 约瑟夫环问题一解
下一篇: 两个单链表的交叉结点
Scandinavians
博客等级 码龄19年 36粉丝 121原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值