嵌入式大端、小端模式存储
中文名(大小端模式) 外文名(Big-endian/Little-endian)
大端模式,是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,数据从高位往低位放;这和我们的阅读习惯一致。
例子:
存储一个32位数0x2168465到2000H~2003H四个字节单元中,若以大端模式存储,则2000H存储单元的内容为( D)。
A.0x21 B.0x68 C.0x65 D.0x02
内存地址 |
小端模式存放内容 |
大端模式存放内容 |
0x2000 |
0x65 |
0x02 |
0x2001 |
0x84 |
0x16 |
0x2002 |
0x16 |
0x84 |
0x2003 |
0x02 |
0x65 |
小端模式,是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中,这种存储模式将地址的高低和数据位权有效地结合起来,高地址部分权值高,低地址部分权值低
例子:
存储一个32位数0x876165到2000H~2003H四个字节单位中,若以小端模式存储,则200H存储单元的内容为(C)。
A .0x00 B .0x87 C .0x65 D .0x61
内存地址 |
小端模式存放内容 |
大端模式存放内容 |
0x2000 |
0x65 |
0x00 |
0x2001 |
0x61 |
0x87 |
0x2002 |
0x87 |
0x61 |
0x2003 |
0x00 |
0x65 |
至于为什么要区分大小端,这是因为在计算机系统中,我们是以字节为单位的,每个地址单元都对应着一个字节,一个字节为 8bit。但是在C语言中除了8bit的char之外,还有16bit的short型,32bit的long型(要看具体的编译器),另外,对于位数大于 8位的处理器,例如16位或者32位的处理器,由于寄存器宽度大于一个字节,那么必然存在着一个如何将多个字节安排的问题。因此就导致了大端存储模式和小端存储模式。例如一个16bit的short型x,在内存中的地址为0x0010,x的值为0x1122,那么0x11为高字节,0x22为低字节。对于 大端模式,就将0x11放在低地址中,即0x0010中,0x22放在高地址中,即0x0011中。小端模式,刚好相反。我们常用的X86结构是小端模式,而KEIL C51则为大端模式。很多的ARM,DSP都为小端模式。有些ARM处理器还可以随时在程序中(在ARM Cortex 系列使用REV、REV16、REVSH指令 )进行大小端的切换。ARM处理器https://baike.baidu.com/item/ARM%E5%A4%84%E7%90%86%E5%99%A8/1835861
嵌入式大端、小端模式存储相关推荐
- 大端小端模式判断以及数据转换
简介 在计算机系统中,我们是以字节为单位的,每个地址单元都对应着一个字节,一个字节为 8bit.但是在C语言中除了8bit的char之外,还有16bit的short型,32bit的long型(要看具体 ...
- 大端小端模式以及相互转化
文章目录 概念 转化方法 应用 概念 大端模式,是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中.(Big-Endian) 小端模式,是指数据的高字节保存在内存的高地址中,而数 ...
- 大端小端模式(俗称大尾小尾模式)
转自百度百科 http://baike.baidu.com/link?url=uKVPtSaiXzEAXJSHfiya1Wj_oITw-t8MpHkJxJvMb0Eu_WXo28czAHLY-FOqj ...
- 大端小端模式及其判别方式
Little endian 和Big endian 是CPU 存放数据的两种不同顺序. 对于整型.长整型等数据类型,Big endian 认为第一个字节是最高位字节(按照从低地址到高地址的顺序存放数据 ...
- 测试系统存储是大端模式还是小端模式的方法
请写一个C 函数,若处理器是Big_endian 的,则返回0:若是Little_endian 的,则返回1. 先分析一下,按照上面关于大小端模式的定义,假设int 类型变量i 被初始化为1. 以大端 ...
- 判断处理器是大端模式还是小端模式
前言 这是一个古老而基础的问题,小代码,能够解决大问题.大框架的问题,就藏在小细节中.越大的框架,这种小细节藏的越深.为什么要区分大小端模式?难道不会有中端模式吗? 一 基本原理与内存图 下面的内存视 ...
- 大端模式和小端模式详解
怎么去理解大端和小端? 1.大端和小端核心是什么? 大端模式和小端是实际的字节顺序和存储的地址顺序对应关系的两种模式,总结如下: 大端模式:低地址对应高字节 小端模式:低地址对应低字节 不管是大端还是 ...
- 数据在内存中的大小端模式存储
大端模式:数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中. 小端模式:数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中. 因为在计算机系统中,我们是以字节为单 ...
- 为什么会有大端/小端之分?(众说纷纭)
起源: 端模式(Endian)的这个词出自Jonathan Swift书写的<格列佛游记>.这本书根据将鸡蛋敲开的方法不同将所有的人分为两类,从圆头开始将鸡蛋敲开的人被归为Big Endi ...
最新文章
- django安装初步使用命令整理
- Windows文件被占用解决办法
- js中的if与Java中的if_JS中的if和else的用法以及基础语法
- BugKuCTF 杂项 签到题
- Maven软件的下载安装
- 《零基础看得懂的C++入门教程 》——(6)自己动手写个函数
- get到一个生气后的牵手方式!太可爱了
- c++编码风格指南_100%正确的编码样式指南
- 第35课 水仙花数 《小学生C++趣味编程》
- 团队任务3 每日立会
- 【跃迁之路】【737天】程序员高效学习方法论探索系列(实验阶段494-2019.2.27)...
- 让对应背景随着轮播的图片变化而改变
- CCF CSP 202009-3 点亮数字人生
- 寒武纪2021数字后端笔试题
- launch 文件解析
- SpringCloudConfig分布式配置中心介绍与搭建使用以及ConfigClient实现动态刷新配置
- 【雷达】基于TI毫米波雷达IWR6843ISK实现室内人员检测附matlab代码
- 【人工智能】— 逻辑Agent、一般逻辑、Entailment 蕴涵、命题逻辑、前向链接、反向链接、Resolution归结
- 使用devops的团队_跨职能DevOps团队的8个角色
- Elasticsearch:如何在搜索时得到精确的总 hits 数