什麼是高地址,什麼是低地址,舉舉例說明

2022-04-10 08:59:07 字數 1757 閱讀 3242

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地址是網際網路上用來通訊的地址,就像你家的門牌號。當然也是唯 一的才行,要不然人家怎麼能找到你呢 網絡卡實體地址儲存器中儲存單元對應實際地址稱實體地...