2、位、字节、半字、字的概念

1、内存到底是个什么东西?

从物理的角度来讲,内存就是电脑上的一个配件(就叫内存条),因为硬件的实现原理的不一样,分成了SRAM,DRAM(这个RAM就是内存),而这个DRAM有分成了好多种,比如SDRAM、DDR1、DDR2.....LPDDR等(按时间先后分的)。(那么ROM又是什么呢?它对应的就是各种flash,他也可以叫内存,但是呢它是只读的,不能写),一般所叫的内存呢就是指的是RAM,它可读可写,而且还是随机访问的。

SRAM和DRAM的区别就是:SRAM不需要初始化,上电就可以直接用,而DRAM的使用就需要初始化了,而且DRAM的存储容量还比SRAM大的多,而且成本还更便宜。

从逻辑角度来说:内存呢就是一个可读可写的,随机访问(就是只要有一个内存地址,CPU就可以访问这个地址)的那么一个东西(同时呢读写是可以设置的),它呢天然的就是用来存放变量的,也可以理解为就是有了内存这么个东西,所以C语言才能定义变量,定义的变量才有地方放,C语言中的一个变量就对应一个内存单元)。

2、从逻辑原理图上来理解内存。

其意义就是说,我的地址在理论上是连续的,但是存数据的时候是每隔4个地址存一个32位的数据。其中一格就代表一个字节。

3、位(bit)、字节(byte)、半字、字

位和字节在多有的地方都是一样的定义,位就代表一个bit,字节就代表8个位。

而字和半字的定义一般依赖于平台,不同的平台的定义是不一样的,比如在linux+ARM的平台中字的定义是32位,半字是16位,但是在windows平台中字的定义是16位,32位的是双字。所以区分起来很麻烦,最好的解决办法就是不去具体的区分,只要是字那么就是半字的两倍位数,只要是双字就是字的两倍位数,这样主要看操作时的位数就可以了。

(0)

相关推荐