什么是大小端?

        今天说一下什么是大小端模式?

        大小端模式指的是什么?通常我们在存储器当中存储数据的字节顺序,注意这里强调的是“字节的顺序”。因为在计算机系统中,不管是单片机DSP或者是X86,我们说一个地址对应的存储空间大小呢就是一个字节,也就是以字节为单位的。

        我们在写代码的时候,肯定不仅仅是只去写定义,比如8位这样的数据类型,肯定还有16位的(2个字节),32位的(4个字节)这样的数据。那么对于超过8位的这样的数据,当要存储的时候,就会涉及到一个排序的问题。那么这个排序的问题,也就是大小端的问题。

        比如说,我们要存储一个32位的数据0x11223344,这个16进制的数,这个数据本身11在这个数据里面它就是高字节,44在这个数据里面就是低字节。我们说的是这个数据本身。那么当我们要把这个数据保存到存储空间或者是Flash或者是内存当中的时候就会涉及到排序,也就是一再强调的大小端问题。

        比如说我们存储到内存,内存的一个地址是从0x2000000到0x20000003四个字节的存储空间当中,如果是大端的模式,就是这个硬件平台是大端的模式,那么就会将11,也就是高字节存储到低地址当中。也就是低地址存储高字节,高地址存储低字节,这就是大端模式。

        小端模式就正好相反:低地址存储低字节,高地址存储高字节。

 

        上面所说的就是这个大小端问题。其实大小端不光会涉及到在存储这个场景,也会涉及到别的,例如我们在做一些通信数据解析的时候,比如说model bus,can总线也会涉及到大小端。

        比如说我们要传输这个数据0x11223344,那么这个总线的协议,协议里面就会去规定是先传输高字节,还是先传输低字节。总线协议里面也会有这个格式,这个其实也是大小端问题。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/236916.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

动态内存分配

为什么存在内存开辟 我们掌握的内存开辟方式有 int val 20;//在栈空间上开辟四个字节 char arr[10] {0};//在栈空间上开辟十个连续的内存空间 但是上述开辟空间的方式有两个特点:1.空间开辟大小是固定的。 2.数组在申明的时候,必须指明数…

ICLR 2024 高分论文 | Step-Back Prompting 使大语言模型通过抽象进行推理

文章目录 一、前言二、主要内容三、总结🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 一、前言 ICLR 2024 高分论文:《Step-Back Prompting Enables Reasoning Via Abstraction in Large Language Models》 论文地址:https://openreview.net/forum?id=3bq3jsvcQ1 …

分析某款go扫描器之四

一、概述 上文提到实现IP的探测存活以及tcp扫描的实现,这部分来分析实现本机网卡信息获取,以及维护一张mac地址表以及ip扫描端口状态表,同时实现syn扫描功能。 项目来源:https://github.com/XinRoom/go-portScan/blob/main/util…

深入了解Python中staticmethod的使用技巧

更多资料获取 📚 个人网站:ipengtao.com 在Python中,staticmethod是一种用于定义静态方法的装饰器。静态方法是类中的方法,它不依赖于类的实例,也就是说,可以在没有创建类实例的情况下调用它。在本教程中&…

如何实现免费无限流量云同步笔记软件Obsidian?

目录 前言 如何实现免费无限流量云同步笔记软件Obsidian? 一、简介 软件特色演示: 二、使用免费群晖虚拟机搭建群晖Synology Drive服务,实现局域网同步 1 安装并设置Synology Drive套件 2 局域网内同步文件测试 三、内网穿透群晖Synol…

acwing-蓝桥杯C++ AB组辅导课Day2-递归习题+递推+二分

感谢梦翔老哥的蓝桥杯C AB组辅导课~ 递归习题: 1.递归实现组合型枚举 题意: 题目要求输出组合枚举,与排列不同,排列具有顺序之分,对于组合来说,是没有顺序之分的,所以[1,2,3]和[3,2,1]被看成同…

vue跳转方式

Vue的页面跳转有两种方式&#xff0c;第一种是标签内跳转&#xff0c;第二种是编程式路由导航 1. <router-link to/Demo><button>点击跳转1</button> </router-link>2.router.push("/Demo");一、标签内通过 router-link跳转 通常用于点击 …

istio 认证:对等身份认证+服务请求认证

istio 中有两种不同的身份认证方式&#xff1a; 基于 mTLS 的对等身份认证 PeerAuthentication基于 JWT&#xff08;JSON Web Token&#xff09;令牌的服务请求认证 RequestAuthentication 对等身份认证 PeerAuthentication 概念 提供服务到服务的认证服务网格的主要场景就…

C# SixLabors.ImageSharp.Drawing的多种用途

生成验证码 /// <summary> /// 生成二维码 /// </summary> /// <param name"webRootPath">wwwroot目录</param> /// <param name"verifyCode">验证码</param> /// <param name"width">图片宽度</…

mysql 中in 和exists 的区别

左边大表用in、左边小表用exists in 适用于左边大表&#xff0c;右边小表。 exists 适用于左边小表&#xff0c;右边大表。 不管是用in&#xff0c;还是exists关键字&#xff0c;其核心思想都是用小表驱动大表。 in 适用于左边大表&#xff0c;右边小表。 exists 适用于左边小…

git仓库迁移,同步分支代码,并且去除仓库的历史提交记录

将原仓库迁移到一个新的仓库&#xff0c;并且不保留原仓库的历史提交记录。 1、创建新git仓库&#xff1a;全新的空git仓库。 2、将新仓库克隆到本地&#xff1a; git clone <新仓库的url> 3、将旧仓库master分支的代码合并到新仓库的master分支&#xff1a; 1、git…

【06】GeoScene海图或者电子航道图数据自动化质检

1 S-58错误管理器验证产品 在你编辑数据时进行快速的质量检查可以使用S-58错误管理器&#xff0c;S-58错误管理器工具允许您使用IHO S-58验证标准来验证海事数据库中的产品。你可以验证整个产品&#xff0c;或验证产品的当前范围。 1.1验证产品 使用S-58错误管理器工具完成以…

轻松实现 Linux 搭建 KMS 服务器,想做什么就做什么(附所有资料)

轻松实现 Linux 搭建 KMS 服务器,想做什么就做什么(附所有资料)。 支持产品: 下载 vlmcsd 下载文件并解压,把 binaries\Linux\intel\static\ 下的 vlmcsd-x64-musl-static 上传至 VPS/usr/bin/ 目录下,并改名为 vlmcsd。 给予执行权限 chmod +x /usr/bin/vlmcsd开启KM…

springboot整合shiro实现前后端分离,兼容最新的jakarta的依赖包(片尾推荐当前最好用的权限框架)

1.简单的用法如下ini realm方式 //1.创建数据源RealmDefaultSecurityManager defaultSecurityManager new DefaultSecurityManager();Ini ini Ini.fromResourcePath("classpath:shiro.ini");defaultSecurityManager.setRealm(new MyRealm()); defaultSecurityMana…

微信开发工具修改编译一直报Cannot read property ‘call‘ of undefined?

我个人的解决方法 更新HbuilderX和微信小程序开发者工具到最新版&#xff0c;微信开发者工具-设置-本地设置-调试基础库也换成最新的3.2.4&#xff0c;打开又报错&#xff0c; 把manifest.json文件内的 “mp-weixin” : {“libVersion”: “latest”}配置上就好了 如果不能解…

Axure基础

软件&#xff1a; 简单交互动效 动态面板 显示和隐藏 表单元件 表格设计 内联框架 导航菜单 元件交互样式 滚动屏幕与弹幕

java 4.数组

文章目录 4.数组4.1数组的概念4.2 数组的定义4.3 数组的初始化4.4 数组下标的有效范围与常见异常4.5 数组内存分析4.6 二维数组4.6.1 创建二维数组4.6.2 二维数组的赋值4.6.3 多维数组4.6.4 通过二维数组输出不同版式的古诗 4.7 不规则数组4.8 数组的基本操作4.8.1 数组遍历4.8…

数据结构和算法-平衡二叉树(定义 插入 删除 时间复杂度)

文章目录 平衡二叉树总览平衡二叉树的定义平衡二叉树的插入调整最小不平衡子树在A的左孩子的左子树中插入导致不平衡在A的右孩子的右子树中插入导致不平衡上述两种的代码思路在A的左孩子的右子树中插入导致不平衡在A的右孩子的左子树中插入导致不平衡 填个坑练习查找效率分析小…

锁相放大器(LIA)基本原理

本文介绍锁相放大器(LIA)基本原理。 锁相放大器(LIA)&#xff0c;英文名称&#xff1a;Lock-In Amplifier&#xff0c;在微弱信号检测领域使用非常广泛&#xff0c;比如科研电生理信号测量&#xff0c;传感器信号测量等。本文从理论上分析锁相放大器(LIA)基本原理。 1.基本概…

vivado生成时钟分析

生成的时钟 本节讨论生成的时钟&#xff0c;包括&#xff1a; •关于生成的时钟 •用户定义的生成时钟 •自动衍生时钟 •自动衍生时钟 关于生成的时钟 生成的时钟在设计内部由称为时钟修改块&#xff08;用于例如MMCM&#xff09;&#xff0c;或者通过一些用户逻辑。生…