大小端機器

腦中宇宙發表於2020-09-27

什麼是大端,什麼是小端?
大小端指的是資料在計算機中的一種儲存方式;
例如:對於十六進位制數4E25,需要用兩個位元組儲存,高位位元組是4E,低位位元組是25;高位元組在前,就是"大頭方式"(Big endian),低位元組在前就是"小頭方式"(Little endian);
即在計算機中儲存的時候:

  1. 若資料的高位位元組 4E 存放在低地址內,資料的低位位元組 25 存放在高地址內,這就是就是Big endian(大端)儲存方式,這樣的機器叫作大端機;
    而電腦讀取記憶體資料時,是從低位地址到高位地址進行讀取的(從左到右,這和我們的閱讀習慣一致),這樣就很容易輸出該資料;
  2. 若資料的高位位元組 4E 存放在高地址內,資料的低位位元組 25 存放在低地址內,這就是Little endian(小端)儲存方式,這樣的機器叫作小端機;

例如:一個整型是4個位元組,如:0x1a2b3c4d;。

  1. 在大端機器中從低地址到高地址的存放方式為:0x1a,0x2b,0x3c,0x4d;
  2. 在小端機器中從低地址到高地址的存放方式為:0x4d,0x3c,0x2b,0x1a;
    在這裡插入圖片描述

大小端名稱的來歷:
這兩個古怪的名稱來自英國作家斯威夫特的《格列佛遊記》。在該書中,小人國裡爆發了內戰,戰爭起因是人們爭論,吃雞蛋時究竟是從大頭(Big-Endian)敲開還是從小頭(Little-Endian)敲開。為了這件事情,前後爆發了六次戰爭,一個皇帝送了命,另一個皇帝丟了王位。

相關文章