也就是对于同一块连续的内存,在小端模式下输出其地址,和,在大端模式下输出其地址,这两个地址一样么?如果一样,那都是低地址么?还是.....
-------------------------------补充------------------------
数据地址的存储方向因为大小端会有不同,这我知道,我想知道的是,是否会因为大小端,造成在取一段连续内存的地址时,输出不同呢?比如说,一个输出了该段内存的低地址,另一个输出了高地址?
也就是对于同一块连续的内存,在小端模式下输出其地址,和,在大端模式下输出其地址,这两个地址一样么?如果一样,那都是低地址么?还是.....
-------------------------------补充------------------------
数据地址的存储方向因为大小端会有不同,这我知道,我想知道的是,是否会因为大小端,造成在取一段连续内存的地址时,输出不同呢?比如说,一个输出了该段内存的低地址,另一个输出了高地址?
给你个例子,如果要存0x12345678到0x10000000,
小端模式下:
0x78存在0x10000000
0x56存在0x10000001
0x34存在0x10000002
0x12存在0x10000003
大端模式下:
0x12存在0x10000000
0x34存在0x10000001
0x56存在0x10000002
0x78存在0x10000003
这是x86的机器,little endian,不知道你看懂了没。稍微解释一下吧,a
的地址是0x4007cd
,单个字节顺序打印出来是cd 07 40 00
,两个字节打印出来07cd 0040
,四个字节打印出来004007cd
,所以大小端对上层来说是无所谓的。如果在汇编那一层的话,还是很明显的体现出来的,像mov al, ah
之类就得考虑大小端的问题。
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.4k 阅读
1 回答1.6k 阅读✓ 已解决
不管是大端模式还是小端模式,其输出地址是一样的。
返回的都是低地址。