给定一个地址范围如何计算内存大小?

Jul*_*lie 8 hex memory-address

我有一个练习,我无法解决它,我有3个内存范围:

      First @      Last @ 
Run Code Online (Sandbox Code Playgroud)

range1:FD00 0000到FDFF FFFF

range2:D000 0000到DFFF FFFF

range3:FA00 0000到FBFF FFFF

问题是:给出每个范围(兆字节)的内存大小?

我所知道的是我应该计算范围的大小=最后一个地址 - 第一个地址所以第一个范围的结果是:00FF FFFF.这是正确的吗?那我该怎么办?我在互联网上搜索过我没有找到一个例子

请帮忙

Eri*_* J. 5

在范围1的示例中,您是正确的。这是内存的大小,以十六进制表示,以字节为单位。

通过首先将00FF FFFF转换为十进制数,然后将该字节数转换为兆字节,您可能会获得最深刻的了解。

要将字节转换为兆字节,请使用以下关系

1 MB = 1 Megabyte = 1024 * 1 KB = 1,048,576 bytes.
Run Code Online (Sandbox Code Playgroud)

在线吨有十六进制到十进制转换器。Windows内置的计算器也可以进行转换。

对于其他范围,您再次要进行减法以确定范围的大小,然后应用上述步骤,例如

 FBFF FFFF
-
 FA00 0000
 ---------
 01FF FFFF
Run Code Online (Sandbox Code Playgroud)

通过这些步骤可以更好地掌握正在发生的事情,以下关系将使您能够更快地回答此类问题:

0010 0000 = 1,048,576
Run Code Online (Sandbox Code Playgroud)

因此1MB与0010 0000相同(有时称为0x100000)。