84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
也就是对于同一块连续的内存,在小端模式下输出其地址,和,在大端模式下输出其地址,这两个地址一样么?如果一样,那都是低地址么?还是.....
-------------------------------补充------------------------数据地址的存储方向因为大小端会有不同,这我知道,我想知道的是,是否会因为大小端,造成在取一段连续内存的地址时,输出不同呢?比如说,一个输出了该段内存的低地址,另一个输出了高地址?
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
不管是大端模式或小端模式,其輸出位址是一樣的。
回傳的都是低位址。
都是低位址大小端只會影響解析順序不影響位址
給你一個例子,如果要存0x12345678到0x10000000,小端模式下:0x78存在0x100000000x56存在0x100000100000大端模式下:0x12存在0x100000000x34存在0x100000010x56存在0x100000020x78存在0x1000003
這是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存在0x100000100000大端模式下:
0x12存在0x10000000
0x34存在0x10000001
0x56存在0x10000002
0x78存在0x1000003
這是x86的機器,little endian,不知道你看懂了沒。稍微解釋一下吧,
a
的位址是0x4007cd
,單一位元組順序印出來是cd 07 40 00
,兩個位元組印出來07cd 0040
,四個位元組印出來004007cd
,所以大小端對上層來說是無所謂的。如果在彙編那一層的話,還是很明顯的體現出來的,像mov al, ah
之類就得考慮大小端的問題。