数据在内存中的存储方式——数据类型、内存地址

一、数据类型

    首先必须得明白,在计算机中,任何文件、图片、视频等都是以二进制格式储存在储存介质中的一串编码,对于二进制数的每一位称作1bit(比特)。这里必须得再说一下,byte(字节)bit(比特)不是同一个东西,1byte=8bit,必须区分好。

    举个最简单的例子,你想在计算机中输入一个数15,由于15在二进制中为1111h,那么在计算机中我们就可以用4bit的储存空间来存储这个数15,这样就占去了内存中4bit的储存空间。

    然而,如果每一个数我们都用恰好的bit数来储存就会造成很大的不方便,至于为什么不方便,具体去参考下内存与CPU传输数据的方式、CPU读取数据的方式与CPU处理数据的方式。于是,在计算机中我们一般约定储存数据所用的bit数为8,16,32,64···通过这样的规定,我们储存每一个数据的时候使用的内存大小就有了一定的限制,而一般来说8bit所能存储的数据量较小,所以一开始规定使用8bit来表示符号(char),同时也可以表示255以内的整数(int),32bit以上才会用来表示小数。

    当然,这样规定是因为以前内存容量还比较小,内存很贵,因此内存的利用必须得非常节约。比如255能用8bit表示,那就绝对不会用16bit表示,但是现在随着内存越来越大,越来越便宜,而且CPU也从32位到了64位,那么索性所有整数、小数我都用64bit来表示也可以。通常所用的数据类型有整数(int),小数(float, double),符号(char),当然这些都是非常基础的东西,不是我们讨论的重点,只是作个引出,但是对理解数据的存储方式非常必要。

 

二、内存地址

    至于内存地址是什么东西,这个可以用储物柜来类比。比如你去超市一般都有寄存物品的柜子,每一个柜子都有一个编号,每一个柜子里都可以放包等东西。那么对于内存,他也相当于有很多储存数据的“柜子”,那么我们要弄清楚的是对于一定大小的内存,到底有多少个柜子,每个柜子能放多少东西,这些弄明白了之后,对于数据如何存储在内存中就能了然于心了。

    通常我们电脑的内存大小为8G,那么8G内存有多大呢,让我们来计算一下,首先

1GB=1024MB,1MB=1024KB,1KB=1024Byte,1Byte=8bit

上面就是储存单位的换算,那么8GB的内存就是8*1024*1024*1024Byte,为什么我最后不用bit作单位呢,因为之前已经说过了,在计算机中使用内存的时候,我们习惯8bit,8bit的使用,也就是一用就是1Byte,所以最后我们不需要看到底有多少bit。通过上面的换算,其实也可以猜出来对于8G的内存,相当于有

8*1024*1024*1024个储存东西的“柜子”,每个“柜子”能存放1Byte的数据

 要编号这么多个柜子,我们使用2进制的话需要33位才能完全编好,这也就是为什么32位CPU没法使用8G的内存,因为32位的CPU总线只有32位,他只能搜寻4G的内存空间,别的空间已经超过他的地址簿了!而64位系统能搜寻的内存范围则远远大于了8G!

  • 13
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值