也就是对于同一块连续的内存,在小端模式下输出其地址,和,在大端模式下输出其地址,这两个地址一样么?如果一样,那都是低地址么?还是.....
-------------------------------补充------------------------数据地址的存储方向因为大小端会有不同,这我知道,我想知道的是,是否会因为大小端,造成在取一段连续内存的地址时,输出不同呢?比如说,一个输出了该段内存的低地址,另一个输出了高地址?
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
ビッグエンディアンモードでもリトルエンディアンモードでも出力アドレスは同じです。
すべての下位アドレスが返されます。
両方とも低いアドレスですビッグエンディアンとスモールエンディアンは解析順序にのみ影響し、アドレスには影響しません
例として、0x12345678 を 0x10000000 に保存する場合、リトル エンディアン モード: 0x78 存在 0x100000000x56 存在 0x100000010x34 存在 0x100000020x12 が存在します 0 x10000003 ビッグ エンディアン モード: 0x12 は 0x10000000 として存在します0x34 は 0x10000001 として存在します0x56 は 0x10000002 として存在します0x78 は 0x10000003 として存在します
これは x86 マシン、リトルエンディアンですが、理解できるかどうかわかりません。少し説明すると、aのアドレスは0x4007cdで、1バイトはcd 07 40 00として順番に出力され、2バイトは07cd 0040として出力され、4バイトは004007cdとして出力されます。大端と小端は正しいです。上位からは問題ありません。たとえば、mov al, ah やその他の問題では、ビッグ エンディアンとスモール エンディアンの問題を考慮する必要があります。
a
0x4007cd
cd 07 40 00
07cd 0040
004007cd
mov al, ah
ビッグエンディアンモードでもリトルエンディアンモードでも出力アドレスは同じです。
すべての下位アドレスが返されます。
両方とも低いアドレスです
ビッグエンディアンとスモールエンディアンは解析順序にのみ影響し、アドレスには影響しません
例として、0x12345678 を 0x10000000 に保存する場合、
リトル エンディアン モード:
0x78 存在 0x10000000
0x56 存在 0x10000001
0x34 存在 0x10000002
0x12 が存在します 0 x10000003
ビッグ エンディアン モード:
0x12 は 0x10000000 として存在します
0x34 は 0x10000001 として存在します
0x56 は 0x10000002 として存在します
0x78 は 0x10000003 として存在します
これは x86 マシン、リトルエンディアンですが、理解できるかどうかわかりません。少し説明すると、
a
のアドレスは0x4007cd
で、1バイトはcd 07 40 00
として順番に出力され、2バイトは07cd 0040
として出力され、4バイトは004007cd
として出力されます。大端と小端は正しいです。上位からは問題ありません。たとえば、mov al, ah
やその他の問題では、ビッグ エンディアンとスモール エンディアンの問題を考慮する必要があります。