数据的存储(2)大小端字节序存储
创始人
2024-05-06 00:43:06
0

TIPS

1.  

2.  

3. *是解应用操作符,*指针变量,对指针变量进行解应用操作,固然没问题。但是要知道的是:也可以直接对最最原始的地址进行解应用操作,如*字符串常量,*数组名,*&a等等,都是OK的

4. 地址,指针这两个概念是完全等价的,它们的数据类型也都一样,为指针类型

大小端字节序存储 

这个我们之前也听过一两遍。那到底什么是大小端呢?
1. 大端字节序存储模式:数据的低位保存在内存的高地址中;数据的高位保存在内存的低地址中。
2. 小端字节序存储模式:数据的低位保存在内存的低地址中;数据的高位保存在内存的高地址中。
到底是什么意思呢?我们去看一下它的名字,有“字节序”三个字,“字节序”。因此是以字节为单位来讨论它们的存储数据。(一个字节=八个二进制位=两个十六进制位)。

1. 现在比如说我有一个占4个字节的整型数据a为0x11223344,由于是以字节为单位讨论数据存储顺序,因此一个字节里面就不要再割裂开来了。现在假设我要把a放进内存里面去,可以这么放(再次强调一下:以字节为单位讨论存储顺序):11223344,11332244,33442211,44332211......存储/放的方式可以有多种多样,但问题在于当我要用这个数据的时候得把它拿出来,以相反的顺序给它还原成原先的数字。你如果以乱序的顺序放进去,只要你能够按照你的规则给我还原出来,可以啊。所以原则上来讲,你这个数据放到内存里面,以字节为单位的顺序是无所谓的,乱放倒放都是可以的。但问题是你放进去之后肯定是要拿出来的,那我拿法肯定越简单越好啊。所以数据在内存中存储最终我们并没有采取乱放的形式。要么以顺序的方式放进去,要不以逆序的方式放进去(注:以字节为单位的存储顺序)

2. 接下来我们还需要知道:内存有低地址与高地址之分没错,对于一个数据来说也有高位与低位之分:比如123,那么3就是低位,1就是高位。而对于0x11223344来说,11就是高(位)字节,44就是(低位)字节
1. 这时候假设我把一个数据低位字节放在内存高地址处,高位字节放在内存低地址处(中间的话是按序的),这个就是大端字节序存储;
2. 假设我把一个数据低位字节放在低地址处,高位字节放在高地址处(中间的话是按序的),这个就是小端字节序存储。
3. 我们讨论的都是以字节为单位的存储顺序,字节基本单位里面不能再割裂开来了,硬要概括的话,里面“天生反骨”。

3. 

4. 那么大小端只有在整型里面存在吗?不是的,对于浮点数而言,也有大小端的问题。

只要一个数据类型的长度大于一个字节,当把它放在内存里面的时候,就会有“肢解部分”顺序问题,也就是大小端。 

图解大小端字节序存储 

1. 在计算机内存,是以一个字节为基本单位进行划分的,一个字节~一个内存单元~一个地址。
2. 如果想要在内存当中存储长度大于一个字节的数据类型,首先要把这个数据/肢解成一个一个字节(基本单位)
3. 当然接下来就涉及到这么多个“肢解部分”该按照什么样的顺序存放到内存里面,这就产生了大端字节序存储与小端字节序存储。

设立小程序判断当前机器的字节序

#include 
int check_sys()
{int a = 1;return *(char*)&a;
}
int main()
{if (check_sys()){printf("小端\n");}else{printf("大端\n");}return 0;
}

相关内容

热门资讯

安卓系统自带的网页,功能与特色... 你有没有发现,每次打开安卓手机,那熟悉的系统界面里总有一个默默无闻的小家伙——安卓系统自带的网页浏览...
美咖云系统安卓版,开启智能生活... 你有没有发现,最近手机上多了一个叫“美咖云系统安卓版”的小家伙?它就像一个魔法师,轻轻一点,就能让你...
安卓系统推荐最好的手机,盘点性... 你有没有想过,拥有一部性能卓越的手机,就像是拥有了移动的宝藏库?在这个信息爆炸的时代,一部好手机不仅...
安卓11系统能精简吗,释放潜能 你有没有发现,随着手机越来越智能,系统也越来越庞大?安卓11系统,这个最新的操作系统,是不是也让你觉...
安卓自动重启系统软件,揭秘原因... 手机突然自动重启,是不是感觉整个人都不好了?别急,今天就来和你聊聊这个让人头疼的安卓自动重启系统软件...
苹果手机x刷安卓系统,探索安卓... 你有没有想过,你的苹果手机X竟然也能刷上安卓系统?是的,你没听错,就是那个一直以来都和我们苹果手机X...
安卓系统智商低吗,智商低下的真... 你有没有想过,为什么安卓系统的智商总被调侃得好像有点低呢?是不是觉得它总是慢吞吞的,有时候还犯点小错...
安卓系统手机联系人,揭秘你的社... 你有没有发现,手机里的联系人列表就像是一个小小的社交圈呢?里面藏着我们的亲朋好友、工作伙伴,甚至还有...
安卓系统免费铃声下载,打造个性... 手机里那首老掉牙的铃声是不是让你觉得有点out了呢?别急,今天就来给你支个招,让你轻松给安卓手机换上...
安卓系统用哪个桌面好,打造个性... 你有没有发现,手机桌面可是我们每天都要面对的“脸面”呢?换一个好看的桌面,心情都能跟着好起来。那么,...
虚拟大师是安卓10系统,功能与... 你知道吗?最近在手机圈里,有个新玩意儿引起了不小的轰动,那就是虚拟大师!而且,更让人惊喜的是,这个虚...
安卓系统与苹果优缺点,系统优缺... 说到手机操作系统,安卓和苹果绝对是两大巨头,它们各有各的特色,就像两道不同的美味佳肴,让人难以抉择。...
安卓win双系统主板,融合与创... 你有没有想过,一台电脑如果既能流畅运行安卓系统,又能轻松驾驭Windows系统,那该有多爽啊?没错,...
安卓系统可精简软件,轻松提升手... 你有没有发现,手机里的安卓系统越来越庞大,软件也越装越多,有时候感觉手机就像个“大肚子”,不仅运行速...
安卓系统基于linux的代码,... 你有没有想过,那个陪伴你每天刷抖音、玩游戏、办公的安卓系统,其实背后有着一套复杂的基于Linux的代...
苹果和安卓的拍照系统,谁更胜一... 你有没有发现,现在手机拍照已经成为我们生活中不可或缺的一部分呢?无论是记录生活的点滴,还是捕捉美丽的...
苹果和安卓系统不同吗,系统差异... 你有没有想过,为什么你的手机里装的是苹果的iOS系统,而朋友的手机却是安卓系统呢?这两种系统,看似都...
安卓系统有多少级,揭秘其多级架... 你有没有想过,那个陪伴我们日常生活的安卓系统,它其实有着丰富的层级结构呢?没错,就是那个让我们的手机...
华为鸿蒙系统与安卓的,技术融合... 你知道吗?最近科技圈可是炸开了锅,华为鸿蒙系统与安卓的较量成为了大家热议的话题。这不,今天我就来给你...
什么安卓手机是苹果系统,搭载苹... 你有没有想过,为什么有些人宁愿花大价钱买苹果手机,而有些人却对安卓手机情有独钟呢?其实,这个问题背后...