深度剖析数据在内存中的存储效率,深度剖析数据在内存中的存储过程
1.首先,介绍数据类型的介绍:
为什么会有不同的类型?
有两个原因:
1.使用此类型来打开内存空间的大小(大小决定使用范围)
2.如何看待内存空间的角度
1.1类型的基本分类:
家庭整形手术:
浮点系列:浮点双精度
建筑类型:
指针类型:
空类型:
2.记忆中的塑料存储(重点)
首先用一个简单的例子引出赋形存储
你知道怎么储存吗?我们通过调试内存来观察它们的存储情况
这是一个仓库:
这是B的存储:
为什么会显示这个结果?
首先要知道,计算机存储是二进制存储,但内存在这里是以十六进制呈现的;
其次,我们需要知道整数存储的源代码、反码和补码:
为什么这么复杂?
因此,整数的存储是以补码的形式
我相信通过以上的了解,我大概能明白为什么会是这样的结果
其次,我们不难发现,存储的结果与我们上面的结果相反这里就提到了大小尺寸的问题
2.2大小端介绍
为什么会有大小头?
因为我用VS调试,VS下的小端存储,所以有上面的结果
以下函数可以确定您的编译器是大端还是小端:
3.内存中的浮点存储(困难)
用下面的例子来解释浮点数的存储:
这次先看正确答案:
我相信除了第一个和第四个,2和3都不能用整数的存储来解释,这也是为什么我们可以认识到浮点数的存储和整数的存储是明显不同的
下面是存储浮点数的方法:任何浮点数都可以这样存储
(-1)^S *米* 2^E
(-1) s表示符号位,当S=0时,v为正;当S=1时,v为负m代表大于或等于1且小于2的有效数字2 e表示指数位
IEEE 754对有效数M和指数e有一些特殊的规定
前面说过,1≤M ^ 2,也就是M可以写成1xxxxx
x的形式,其中
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。