kooo1122 2009-9-14 19:47
内存的地址范围计算公式是什么?
内存的地址范围计算公式是什么?
无意中看到“32MB内存的地址范围用十六进制数表示就是0~1 FFFFFFH,”这样一句话,请问2GB的内存的地址范围用十六进制数表示是多少?这是怎么计算出来的?能讲一下具体的实现方法吗?谢谢
fchj404 2009-9-14 20:15
所谓一个内存地址单元就是1BIT(位),我们平常说的GB,MB,KB的B都是BYTE(字节),1BYTE=8BIT,也就是2的3次方BIT(以下简写为2(E3)),因此
1KB=1024B=2(E10)BYTE=2(E13)BIT
1MB=1024KB=2(E20)BYTE=2(E23)BIT
32MB=32X2(E23)=2(E28)BIT
用16进制数表示就是1 FFFFFF(H是16进制数后缀)
2GB=2(E11)MB=2(E21)KB=2(E31)BYTE=2(E34)BIT,用16进制就是4FFFFFFFF H
范围嘛就是0~4FFFFFFFF H
wsdgbt 2009-9-14 21:54
这涉及到进制转换和计算机内存地址的表示方法。
在计算机中进制是以1024为一个进制,即1KB(我们熟称的1K)=1024byte(字节),所以2G=2GB=2*1024*1024*1024byte=2,147,483,648,将它转换为16进制即为80,000,000,地址表示是从0开始的即:0~7F,FFF,FFF。32MB=33,554,432,转换后为20,000,000,地址为:1,FFF,FFF