84669 personnes étudient
152542 personnes étudient
20005 personnes étudient
5487 personnes étudient
7821 personnes étudient
359900 personnes étudient
3350 personnes étudient
180660 personnes étudient
48569 personnes étudient
18603 personnes étudient
40936 personnes étudient
1549 personnes étudient
1183 personnes étudient
32909 personnes étudient
也就是对于同一块连续的内存,在小端模式下输出其地址,和,在大端模式下输出其地址,这两个地址一样么?如果一样,那都是低地址么?还是.....
-------------------------------补充------------------------数据地址的存储方向因为大小端会有不同,这我知道,我想知道的是,是否会因为大小端,造成在取一段连续内存的地址时,输出不同呢?比如说,一个输出了该段内存的低地址,另一个输出了高地址?
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
不管是大端模式还是小端模式,其输出地址是一样的。
返回的都是低地址。
都是低地址大小端只影响解析顺序不影响地址
给你个例子,如果要存0x12345678到0x10000000,小端模式下:0x78存在0x100000000x56存在0x100000010x34存在0x100000020x12存在0x10000003大端模式下:0x12存在0x100000000x34存在0x100000010x56存在0x100000020x78存在0x10000003
这是x86的机器,little endian,不知道你看懂了没。稍微解释一下吧,a的地址是0x4007cd,单个字节顺序打印出来是cd 07 40 00,两个字节打印出来07cd 0040,四个字节打印出来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存在0x10000003
大端模式下:
0x12存在0x10000000
0x34存在0x10000001
0x56存在0x10000002
0x78存在0x10000003
这是x86的机器,little endian,不知道你看懂了没。稍微解释一下吧,
a
的地址是0x4007cd
,单个字节顺序打印出来是cd 07 40 00
,两个字节打印出来07cd 0040
,四个字节打印出来004007cd
,所以大小端对上层来说是无所谓的。如果在汇编那一层的话,还是很明显的体现出来的,像mov al, ah
之类就得考虑大小端的问题。