寻址范围0000H~FFFFH,为什么是大小64KB?

来源:百度知道 编辑:UC知道 时间:2024/06/14 09:32:31
0000H~FFFFH是二进制的16次方,一个二进制十六位是二字节,有65526个十六位,那么就是一共65536个二字节,为什么只是65526字节?
请问这样计算哪里错了????

一个十六进制位是 2^4 0000H~FFFFH 一共相当于有10000H个数 10进制中 10000是10^4
那么 10000H相当于 (2^4)^4 = 2^16
1KB = 2^10B
字节寻址下,上述地址所代表的为2^16 / 2^10B = 2^6KB 故 64KB
注意 你这么说应该是字节寻址 也就是说 一个1H就是一个字节 地址指向每一个字节的首地址

64KB=2的十六次方=10000000000000000B(16个0)=也就是十六进制的10000H。
也就是说一共有10000H的地址空间,如果把0000H也算作一个地址的话,那么地址最大就是10000H-1=FFFFH.最小就是0000H.

0000H~FFFFH这个是十六进制的表示,即每一位表示0-9,A-F中的一个数,四位十六进制数的取值范围为16^4=65536个字节,转换成千字节(KB),除以1024,即可得到64KB。
机器里面是二进制表示的,这里你也可以转换成二进制来算,十六进制转换成二进制,只需要将十六进制的每一位转换成四位二进制数即可,一种比较简单的方法是,8421法,四位二进制的每一位分别表示十进制中的8421,例如二进制1111,转换成十进制是8+4+2+1=15,正好对应的就是十六进制的F,又比如十六进制的A(对应十进制的10)为8+2,则二进制位1010(即对应8和2的两个位置1即可)。回到正题,每一位十六进制数转换成四位二进制数,这里四位十六进制数转换成16位的二进制数,所以寻址范围为2^16=(2^6)*(2^10)=64*1024,也就是64KB。

1K=1024B
64*1024=65536=2^16