存储模型:大端和小端

article/2025/9/24 21:54:43

前言:

计算机操作系统中存储信息都是以字节为单位,每个地址单元对应 1 个字节。

1 个字节为 8 bits,对于某些32 位处理器而言,char类型数据占用 1 个字节的空间,short 占用2个字节,int 占用4个字节。而这些字节在内存中的存储顺序,以及字节内存的排列方式,都是人们迫切关注的。当第一个字节出现的时候,第二个字节就需要确定其出现的位置以及其意义。

例如,Internet 协议,例如RFC 791;

再例如,文件格式,例如GIF、JPEG、MPEG等等。

而这些字节一个接着一个的顺序,称之为字节顺序(endianness)。从左往右、从右往左,字节顺序被分为两种:

  • 大端字节序;
  • 小端字节序;

详细说明:

对于一个数x 的值为0x2211,其中0x22 为高字节,0x11 为低字节。

对于大端模型,在文件、协议传输时,会按照读的顺序,先是0x22,接着是0x11。

对于小端模型,恰好相反,会将0x22 会接着0x11 之后。

而在计算机中,大端模型会将数据的高字节的保存在内存的低地址中,而数据的低字节保存在内存的高地址中。小端模型相反。

例如对于数0x1234567

计算机处理字节序的时候,不知道什么是高位字节,什么是低位字节。它只知道按顺序读取字节,先读第一个字节,再读第二个字节。

计算机中存储如下:

 计算机中先读取低位字节的数,也就是说计算机内部处理中都是小字节序。

计算机中采用的是小端字节序的方式:

If little-endian is so confusing to the human mind, why would anybody ever use it? The answer is that it can be more efficient for logic circuits. Or at least, back in the 1970s, when CPUs had only a few thousand logic gates, it could be more efficient. Therefore, a lot of internal processing was little-endian, and this bled over into external formats as well.

对于网络协议和文件格式都采用的大端字节序的方式:

On the other hand, most network protocols and file formats remain big-endian. Format specifications are written for humans to understand, and big-endian is easier for us humans.

区分:

如何判断处理器是大端模式还是小端模式?联合体(union) 的存放顺序是所有成员都从低地址开始存放,利用该特性可以轻松判断CPU 对内存采用大端模式,还是小端模式读写。

如果以下代码的输出结果为true,则为小端模式,否则为大端模式:

int checkCPU(void)
{union x{int a;char b;} c;c.a = 1;return (c.b == 1);
}


http://chatgpt.dhexx.cn/article/ZQrnBBcl.shtml

相关文章

操作系统之大端小端

1. 什么是大端,什么是小端: 所谓的大端模式,是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中; 所谓的小端模式,是指数据的低位保存在内存的低地址中,而数据的高位保存在内存的高地…

二进制、16进制、大端小端

16进制的使用 在开发过程中,写文件是常有的事,如果写的内容是文本,随便用一个记事本软件打开即可查看内容是否正确,如果写的是音频文件,就要用音频播放器来查看,如果是视频文件,就要用视频播放…

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

大端(Big-Endian),小端(Little-Endian)以及网络字节序的概念在编程中经常会遇到。网络字节序(Network Byte Order)一般是指大端(Big-Endian,对大部分网络传输协议而言)传输,大端小端的概念是面向多字节数据类型的存储方式定义的,小…

677-大端模式和小端模式详解

1、大端和小端核心是什么? 大端模式和小端是实际的字节顺序和存储的地址顺序对应关系的两种模式,总结如下: 大端模式:低地址对应高字节 小端模式:低地址对应低字节 不管是大端还是小端模式,我们在读取和存…

大端小端详解

转载:大端小端详解 1>"大端" "小端"的来源 关于大端小端名词的由来,网传有一个有趣的故事,可以追溯到1726年的Jonathan Swift的《格列佛游记》,其中一篇讲到有两个国家因为吃鸡蛋究竟是先打破较大的一端…

大端序发送数据

需要发送数字 151510 大端序发送就是 :00 02 4F D6 string smallData textBox1.Text;//小端数据if (smallData ""){MessageBox.Show("请输入初始里程", "错误",MessageBoxButtons.OK, MessageBoxIcon.Exclamation);textBox1.Text …

c语言之大端小端问题

这就是字节序问题:数据在计算机内存中存储或者网络传输时各字节的存储顺序 通常来说就分为两种情况: 一种是大端(big-endian):高字节(高位)存放在低地址,低字节(低位)存在高地址 另外一种小端(little-endian):高位存放…

数据存储:大端小端

文章目录 问题起源大端小端大端小端优劣符合人类阅读方式数据类型转换符号位的识别 参考资料 曾经辨析和了解过大端小端,但是到了实际应用中还是比较模糊。整理一些资料文章,在此记录。 问题起源 在计算机的使用以及现代很多的嵌入式设备中,…

大端与小端

一.大小端介绍 “大端”和“小端”表示多字节值的哪一端存储在该值的起始地址处。小端存储在起始地址处,即是小短字节序;大端存储在起始地址处,即是大端字节序。 大端存储模式:数据的低位保存在内存中的高地址中,数据…

大端和小端的含义及判断代码

1、概述 在计算机系统中,数据都是以字节进行存储的,每个地址单元对应一个字节,每个字节都是8位(bit)。但是C除了char和bool之外,还有其它多字节类型。怎样存储多字节的数据就分为了大端和小端。字节序只和…

C语言基础 —大端和小端

大端和小端 1、什么是大端和小端2、为什么会有大端和小端3、怎样判断是大端还是小端 1、什么是大端和小端 大端模式:就是 高位字节 存放在内存的 低地址端,低位字节 存放在内存的 高地址端 小端模式:就是 低字节存 放在内存的 低地址端&…

大端和小端的区别和判断

1.概念 大端模式(big endian):数据的高位字节保存在内存的低地址中,而低位字节保存在内存的高地址中。 小端模式(little endian):数据的高位字节保存在内存的高地址中,而低位字节保存在内存的低地址中。 问:什么是高…

什么是大端和小端

大端(存储)模式:是指数据的低位保存在内存的高地址中,而数据的高位保存在低地址中; 小端(存储)模式:是指数据的低位保存在内存的低地址中,而数据的高位保存在高地址中。 …

大端、小端的前世今生

什么是大端、小端? BigEndian(大端):低字节在高内存地址 LittleEndian(小端):低字节在低内存地址 所谓大端小端,也就是看低字节在高内存地址还是低内存地址,也就是看低字节在前还是高字节在前,低字节在前…

数据存储:小端模式和大端模式——终于搞明白了!!!

首先要记住:读数据永远是从低地址开始的!!! 正文开始 什么是低地址、高地址? 地址编号小的是低地址,地址编号大的是高地址 什么是数据的低位、高位? 小端模式 数据的低位放在低地址空间&am…

室内定位技术(三)——自有定位技术

我们正在使用的技术是以wifi信号强度正态分布为核心,结合神经网络原理的一套完整算法,并对wifi信号的正态分布情况作了很多的优化工作。 以下是在两组wifi信号强度正态分布研究的实例图: 四条不同颜色的线分别代表不同的ap信号强度的正态分布…

室内定位浅析

这一星期都在弄室内定位的事情,关于室内定位。需求就是两个终端之间,能够快速地通过室内定位做出路线规划,进行导航。 这个精确的室内定位路线规划得益于WIFI的精确部署。 先开看看这个WiFi的理论部署模型。 等边三角形的三个顶点作为三个无…

物联网之室内定位

摘要:室内定位正处于百家争鸣、技术爆发的阶段,尤其近年随着UWB、Wi-Fi以及5G等通信技术的广泛应用。 1、定位需求 物联网时代,位置服务已成为人们工作生活必不可少的服务之一,网约车、外卖、导航等都依赖定位服务。这些最常用的…

室内定位关键技术(indoor location)

一、Wi-Fi定位 Wi-Fi定位是目前相对成熟且应用广泛的定位技术,定位方法是基于信号强度的传播模型法和指纹识别法。信号强度的传播模型法,是指使用当前环境下假设的某种信道衰落模型,根据其数学关系估计终端与已知位置 AP 间的距离&#xff0c…

室内定位——UWB测距及定位原理

关注、星标公众号,直达精彩内容 来源:平行机器人 整理:李肖遥 我们都知道卫星信号在室内会被严重影响,从而导致GPS或是北斗无法定位。所以在室内定位主要采用无线通讯、基站定位、惯导定位等多种技术集成形成一套室内位置定位系统…