请先打开一个在线的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

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐