-2

mem32[&100]=&12345678 ビッグエンディアンのアドレス指定が使用されている場合、mem8[&101] とは?

答えは 56 です。これが私の推論です。

私の理解では; ビッグ エンディアン システムでは、最上位バイトが最初にメモリに格納されるため、次のようになります。

0x100 0x101 0x102 0x103
78    56    34    12

しかし、「正解」は 34 です。

誰か理由を説明してもらえますか?/答えが間違っていると教えてください。

編集:間違いに気づきました。一瞬左端の数字が最重要なのを忘れてた!

4

2 に答える 2

0

32 ビット値の場合0x1234567812が最上位バイトであり、ビッグ エンディアン システムではこれが最初に来て、その後に34, 56,が続き78ます。

ビッグエンディアン:

0x100 12
0x101 34
0x102 56
0x103 78

リトルエンディアン:

0x100 78
0x101 56
0x102 34
0x103 12
于 2013-01-08T23:07:30.623 に答える
0

あなたはそれを間違った方法で手に入れました:

0x100 0x101 0x102 0x103
78    56    34    12

これは、BIG エンディアンでは 0x78563412、LITTLE エンディアンでは 0x12345678 です。

BIG エンディアンの 32 ビット値 0x12345678 は12 34 56 78.

于 2013-01-08T23:07:38.677 に答える