12

私はそれを解決できなかった運動をしています、私は3つの記憶範囲を持っています:

      First @      Last @ 

範囲1:FD000000からFDFFFFFF

range2:D0000000からDFFFFFFF

範囲3:FA000000からFBFFFFFF

問題は:各範囲(メガバイト)のメモリのサイズを指定しますか?

私が知っているのは、範囲のサイズ=最後のアドレス-最初のアドレスを計算する必要があるため、最初の範囲の結果は:00FFFFFFです。これは正しいですか?それなら私は何をすべきですか?インターネットで検索しましたが、例が見つかりませんでした

助けてください

4

7 に答える 7

8

範囲 1 の例では、正しいです。これは、16 進数でバイト単位で表されたメモリのサイズです。

最初に 00FF FFFF を 10 進数に変換し、次にそのバイト数をメガバイトに変換すると、最も多くの洞察を得ることができます。

バイトからメガバイトに変換するには、次の関係を使用します

1 MB = 1 Megabyte = 1024 * 1 KB = 1,048,576 bytes.

オンラインの 16 進数から 10 進数へのコンバーターはたくさんあります。Windows に組み込まれている電卓でも変換を行うことができます。

他の範囲については、再び減算を行って範囲のサイズを決定し、上記の手順を適用します。

 FBFF FFFF
-
 FA00 0000
 ---------
 01FF FFFF

何が起こっているのかをよりよく理解するためにこれらの手順を実行した後、次の関係により、そのような質問にすばやく答えることができます。

0010 0000 = 1,048,576

したがって、1MB は 0010 0000 (0x100000 と呼ばれることもあります) と同じです。

于 2013-01-01T18:29:15.667 に答える
0
range1: FD00 0000 to FDFF FFFF:
  FD FF FFFF 
- FD 00 0000
------------
  FF FFFF +1 = 1MB (0x100 0000)

range2 : D000 0000 to DFFF FFFF = 256MB (0x1000 0000)

range3 : FA00 0000 to FBFF FFFF = 32MB (0x200 0000)
It should be noted that +1 is added since both number are exclusive here
于 2015-07-16T11:36:44.957 に答える