1樓:光速機槍阿蘇
可以把主存看成一本空白的作業本,你現在要在筆記本上記錄一些內容,他的頁碼排序是
第一頁 : 0x0000001
第二頁 : 0x0000002
...最後一頁: 0x0000092
1 如果你選擇`從前向後記錄`(用完第一頁,用第二頁,類推)這就是先使用低地址,後使用高地址.
0x0000001 -> 0x0000002-> ... -> 0x0000092
業內有這樣表述:動態分配記憶體時堆空間向高地址增長,說的就是這種情況.
這個向高地址增長就是先使用低地址,後使用高地址的意思.
2 如果你選擇`從後往前記錄`(先用筆記本的最後一頁,用完後使用倒數第二頁,類推) 這就是先使用高地址,後使用低地址
0x0000092 -> ... ->0x0000002 -> 0x0000001
業內表述:`0xbfac 5000-0xbfad a000`是棧空間,其中高地址的部分儲存著程序的環境變數和命令列引數,低地址的部分儲存函式棧幀,**棧空間是向低地址增長的**.
這個向低地址增長就是先使用高地址,後使用低地址的意思.
這個`高地址`與`低地址`容易與`高位``低位`產生混淆.
比如我這個月工資為`1234`(一千二百叄拾肆塊),那麼這串數字的左邊我們稱呼為高位,右邊稱為低位.
(這個高低來自於人類的閱讀習慣,數字從左向右,表示由大到小)
在計算機中以`int`型別儲存工資,假設`int`佔用四個位元組,每個位元組地址如下
0x00008
0x00009
0x0000a
0x0000b
把工資載入到記憶體中時,就會有兩種儲存方式,如下:
// 大端法
0x00008 => 1
0x00009 => 2
0x0000a => 3
0x0000b => 4
或者// 小端法
0x00008 => 4
0x00009 => 3
0x0000a => 2
0x0000b => 1
記憶體中的低地址儲存工資中的高位這種方式稱為`大端法`.如果把上邊的儲存方式反過來,記憶體中的高地址儲存工資中的高位,則稱為`小端法 little endian`.
(註釋:可以採用異或方法來記憶 低地址存低位為小端法-> `弟弟小` ^o-o^).
主機採用大端還是小端表示資料由cpu的架構決定,如果兩個主機只見互動資料,但是位元組序表示不同,需要同化.
2樓:財經陰陽眼
堆疊是在記憶體中指定的一段特殊儲存區,春起始單元的地址叫棧底,當前儲存單元地址叫棧頂,堆疊儲存區一旦指定,棧底就固定不變了,而棧頂是隨入棧、出棧操作呈動態。而不同機型的堆疊設計,有兩種情況:一是每入棧一個數,棧頂地址加1,每出棧一個數,棧頂地址減1,即堆疊區是由記憶體的低地址向高地址。
另一種是每入棧一個數,棧頂地址減1,每出棧一個數,棧頂地址加1,即堆疊區是由記憶體的高地址向低地址。
高地址、低地址的概念是計算機領域裡通用的,並非彙編知識特有。高地址、低地址是相對而言,即相對地址編碼的大小而言。
計算機知識,什麼是高位和低位?
3樓:
字是兩個位元組,也就是16個零或一組成的,例如0000 0000 0000 0000,這十六個位置中前八個就是高位,後八個是低位。記憶體是按位元組存放的,而後面八個零會放在實體地址x的位置上,而前面八個會放在x+1的位置上,也就是高位,不知道你懂了沒。
什麼是IP地址?什麼是ip地址?
1 ip,全稱網際網路協議地址,是指ip地址,意思是分配給使用者上網使用的網際協議 英語 internetprotocol,ip 的裝置的數字標籤。常見的ip地址分為ipv4與ipv6兩大類,但是也有其他不常用的小分類。2 ip地址是ip協議提供的一種統一的地址格式,它為網際網路上的每一個網路和每一...
如何區別地址是單播地址,什麼是組播地址和單播地址?怎麼劃分?
172.31.128.255的二進位制是10101100.00011111.10000000.11111111,其網路號為18位,即是10101100.00011111.10所以其主機地址是000000.11111111.它既不是全0的,也不是全1的主機地址.所以是單播地址.或ip網路的多播一般通過...
什麼是實體地址?什麼是IP地址,什麼是實體地址?和IP地址有什麼區別與聯絡?
什麼是ip地址?ipv4和ipv6又是什麼意思?實體地址就是網絡卡的mac地走,每張網絡卡都有一個身份證,就跟人一樣,出廠就設定好了,而且是唯一的,ip地址是網際網路上用來通訊的地址,就像你家的門牌號。當然也是唯 一的才行,要不然人家怎麼能找到你呢 網絡卡實體地址儲存器中儲存單元對應實際地址稱實體地...