我被问到关于作业的以下问题,但我不确定我是否正确做到了。
“具有以下地址位数的处理器可以寻址的最大存储空间(即程序)是多少? (c)24位“
我把011111111111111111111111(0后跟23 1s)。它是否正确?如果没有,我如何找到这个问题的答案?如果需要,可以使用不同的位数作为示例。谢谢你的帮助。
答案 0 :(得分:4)
否011111111111111111111111
不是正确的答案。我假设您正在计算可以用有符号的24位整数表示的最大数字。
内存地址总是无符号的,所以答案是可用24位表示的数字项,即2^24
或1000000000000000000000000
,即1,后跟24个零(假设我计算正确) ) - 因为地址范围包括0
并且转到1111111111111111111111
(24 1)。
答案 1 :(得分:3)
2 ^ N个字节,其中N是地址空间中的位数。
例如,8088处理器具有20位地址空间,因此它可以处理2 ^ 20字节= 1 MB。
地址空间是无符号的,因此N是完整的位数,而不是位数减1。
答案 2 :(得分:1)
编程中的地址通常代表内存中的位置。 您可以始终代表与唯一数字一样多的位置。
您可以使用1到10的范围来处理多少个位置? 10。 您可以在1到2 ^ 24的范围内处理多少个位置? 2 ^ 24
因此,您可以代表2 ^ 24个位置而且您没有正确回答。
答案 3 :(得分:1)
你走错了路。
内存地址是无符号的,因此地址空间的大小为2 ^ 24字节,或16Mb。
答案 4 :(得分:1)
如果你有2位,你可以从00到11,00,01,10,11,四个地址。四是1有两个零0.两个地址位一个有两个零是地址数或2到电源2. 3位0b1000或8地址2到电源3,4位0b10000或16个地址,2到电源4等等你想要的任何位数。