本文链接:https://blog.csdn.net/u012611644/article/details/79317879
请先打开一个在线的2进制转16进制的转换器,便于理解调试。
首先 1个字节=1byte=8Bit。
字节是计算机信息技术用于计量存储容量的一种计量单位,也表示一些计算机编程语言中的数据类型和语言字符。
1KB = 1024byte = 2的10次方 byte,转化为16进制为0x400。同时换一种说法,1KB可以表示1024个地址,0x400个地址,而且表示地址的范围是0x00~0x3FF。(记住)
2KB = 2的11次方byte, 转化为16进制为0x800,表示的地址范围为0x00~7FF。其中0x400~0x7FF表示的是第二KB的范围。
4KB = 2的12次方byte,0x1000,表示的地址范围0x000~0xFFF。(特殊要记住)
1MB = 1024KB = 2的20次方byte,0x100000。表示的地址范围为0x00000~0xFFFFF。(特殊要记住)
1GB=2的30次方byte,0x40000000。表示的地址范围为0x00000~0x3FFFFFFF。
那么对于一个任意给定的地址范围(必然是1KB的整数倍)怎么反推字节数呢?
例如,0x000000~0x1FFFFF。
第一种解法:记住1M是5个F,多一位是2倍,所以是2M。
第二种解法:记住FFF是4KB,1FF是512, 512X4KB=2048KB也就是2M
20180621: 0x3000 表示地址0x0000-0x2FFF 12K