我们在看编程书籍、嵌入式书籍的时候,经常会用到内存大小,那么内存大小是如何表示的呢?
如我们使用内存的范围为0X8000 0000~0X8020 0000,那么这块内存是多大呢?今天我们就分析这个问题
计算过程
首先我们要知道,在系统中我们说内存大小是使用byte为单位的。也就是说1=1byte,另外我们要熟悉16进制的转换,那么就有了:
0X1 = 1byte
0X10 = 16 byte
0X100 = 16*16 byte = 256 byte
0X1000 = 16 *256 byte= 4 * ( 4 * 256byte) = 4 * 1024 byte =4K byte
0X1 0000 = 16 * 4K byte = 64K byte
0X10 0000 = 16 * 64K byte = 1024K byte = 1M byte
0X100 0000 = 16 * 1M byte = 16M byte
0X1000 0000 = 16 * 16M byte = 256M byte
0X1 0000 0000 = 16 * 256Mbyte = 4*(4*256) Mbyte = 4*1024Mbyte=4Gbyte
好了,我是按一定倍数慢慢增大的,就明白它的计算方法了。
还有,为了更好的记忆,我们还需要将我们经常使用的单位列举出来
1K byte = 4* 256byte = 4* 0X100 = 0X400
256M 上面有了
512M = 2* 256M = 2*0X1000 0000 = 0X2000 0000 byte
1G = 2* 512M = 0X4000 0000 byte
4G = 0X1 0000 0000 byte
8G = 0X2 0000 0000 byte
16G = 16 * 1G = 4 * 4 * 1G = 0X4 0000 0000 byte
数据对应表
那么我们就有了下面的数据:
0X1 = 1 byte
0X10 = 16 byte
0X100 = 256 byte
0X400 = 1K byte
0X1000 = 4K byte
0X1 0000 = 64K byte
0X10 0000 = 1M byte
0X100 0000 = 16M byte
0X1000 0000 = 256M byte
0X2000 0000 = 512M byte
0X4000 0000 = 1G byte
0X1 0000 0000 = 4G byte
0X2 0000 0000 = 8G byte
0X4 0000 0000 = 16G byte
常用的数据都列举出来了。
那么上面的数据0X8000 0000~0X8020 0000 就等0X20 0000 = 0X10 0000 *2 = 2M ,就用最挨近上面的数据简单计算就可以了。
创作不易,欢迎点赞、关注。
–好记性不如烂笔头。