抱歉,我用另一个问题来回答这个问题/ s ...
在指定范围内可用地址的数量是否包括那些范围限制器?
例如(以十进制表示我的观点)具有起始地址5和终止地址10。 仅通过减法即终止地址减去起始地址(10-5),我们得到范围为5.
但实际上在范围内有六个唯一的地址,即5,6,7,8,9,10 (因此我们应该在Julie原始问题的结果中加1吗?)
另外,存储器地址大小与实际内存大小。 我们是在讨论单独的内存位置数量还是可用于存储数据的内存大小(应考虑每个位置的大小)?
如果只是内存位置,则工作已经几乎完成了(我认为这称为存储器地址大小)。 只需解决问题的MB部分(我将在最后讨论此问题)
如果是可用的存储空间,则应将其包括在内每个可寻址内存部分的大小,例如,每个地址位置包含一个未知大小的数据块。 假设每个内存位置的数据为1字节(1B),则上述示例表示内存大小为:
6(内存位置)乘以1字节(每个内存位置的体积)等于总内存大小为6B
因此,基于我的逻辑,范围1的原始问题的答案应为01000000hex(range1 = FDFF FFFF-FD00 0000 + 1 = 01000000h)。
至于该范围的内存大小,这就是我真正感到困惑的地方......
它是特定数量的内存位置,即1000000h,每个位置的大小未确定。 那么为什么要用MB或GB表达它。 如果您知道每个内存位置的大小(并将位置数乘以每个位置的大小),则可以得出该范围的内存大小并用数字形式表示。
当我们谈论MB,GB等时,我真的很困惑。 它经常被引用为每个前缀相当于1024的倍数,例如1KB = 1024Bytes,1MB = 1024kB等,但IEC首选约定基于ISO标准(根据刚才搜索到的内容),其中Kilo(kB)= 1000,Mega(MB)= 1000000等。
因此,将每个位置的未知大小放在一边,并将1000000h转换为十进制,即16,777,216,答案可能是:
- 16MB(16777216/1024/1024=16)我猜这是老师想要的答案
- 根据ISO标准,16.777216MB
- 根据IEC 80000-13联合IEC / ISO标准,16 mebibytes
顺便说一下,谷歌搜索只让我对kibibytes和mebibytes有了初步的了解...如果您感兴趣,请查看https://en.wikipedia.org/wiki/Kilobyte