2的32次方为什么是4GB?

32位的设备通常可以访问4GB的物理内存。 当时看到这句话的时候,想动手算一算。

也就是说

2

32

=

4

G

B

2^{32}=4GB

232=4GB吗? 写到后面,发现这个表述是错误的,为什么呢?没有单位就是在耍流氓,不信你看,如果单位是bit,

2

32

b

i

t

=

4

G

b

i

t

=

0.5

G

B

2^{32}bit=4Gbit=0.5GB

232bit=4Gbit=0.5GB ,而当单位是Byte时,

2

32

B

=

4

G

B

2^{32}B=4GB

232B=4GB这个式子才是正确的。

首先,这里的32指的是CPU的32位地址线,可以访问

2

32

2^{32}

232个不同的地址。

其次,CPU有8位位线,即访问一个地址可以获得8位的数据,即1字节(1B)的数据。

所以,

2

32

2^{32}

232个地址可以访问

2

32

2^{32}

232 字节的数据,换句话说,32位的机器可以访问

2

32

2^{32}

232字节(Byte)的内存空间。

理解了这一点,下面就是二进制的计算问题喽。

2

32

B

2

10

=

2

22

K

B

2^{32}B ➗2^{10}= 2^{22}KB

232B➗210=222KB

2

22

K

B

2

10

=

2

12

M

B

2^{22}KB ➗2^{10}= 2^{12}MB

222KB➗210=212MB

2

12

M

B

2

10

=

2

2

G

B

=

4

G

B

2^{12}MB ➗2^{10}= 2^{2}GB=4GB

212MB➗210=22GB=4GB

参考:博客园:2^32次方为什么是4GB