大小端個人理解

2021-08-07 10:06:51 字數 827 閱讀 1024

大端:資料低位放在記憶體高位,而資料高位放在記憶體地位的儲存格式;

小端:資料高位放在記憶體高位,而資料低位放在記憶體低位的儲存格式;

在計算機中通常以位元組為單位,所以我這裡也用8bit的位元組舉例子(但大小端問題決對不是限於8bit的位元組的,不要一遇到大小端問題就8bit一位元組的分割,根據實際情況,比如我最近學習protobuf時一位元組得第一位用於標識是否需用下一位元組,所以protobuf只用7bit儲存資料)。

至於資料的高低位與一般意義上的高低位一樣,都是最左邊的是最高位最後邊的是最低位,只不過換成2進製罷了。而記憶體的高低位在我的理解記憶體的高低位是視其位址決定的,記憶體儲存的每個位元組都有乙個專屬的位址,高位址即為高位低位址即為低位。

假如我要把乙個32位整形0x12345678存入記憶體每個位址儲存乙個位元組,這樣將會用四個位址儲存這個整形,因為每個位址固定儲存8bit,所以四個位址一定分別儲存了12、34、56、78,而大端法與小端法的區別只在於儲存順序,我這裡假設將要使用的位址是0x00-0x03,這樣儲存結果如下表:

| 位址 | 0x00 | 0x01 | 0x02 | 0x03 |

|:----:|:----:|:----:|:----:|:----:|

| 大端 | 12 | 34 | 56 | 78 |

| 小端 | 78 | 56 | 34 | 12 |

再說一下自己的了解,依稀大小端之說**於《格列佛遊記》裡面有個什麼國按吃雞蛋從大端剝殼還是小端剝殼把人分為兩類,以此模擬,把資料裝入記憶體中的這個過程就像是吃雞蛋,而從資料的哪端開始裝就像是從哪端開始剝殼。

記憶體的入口不變,只會從低位記憶體向高位充填,而資料從哪端開始充填就是大小端法的區別。

大小端理解

大小端 大端,可以通過寫乙個十進位制數來證明,說一百二十三,通常很明了的寫法是 123,數字從左到右寫,最重要的數字是1,首先寫.這類似於首先使用記憶體低位址.這是乙個來自於日程生活中的大端位元組序的約定.以小端方式寫同樣的數字,一百二十三,會把百位數字1放到最右位置 321.乙個只熟悉大端循序的人...

位元組序(大小端)理解

位元組序,就是 大於乙個位元組型別的資料在記憶體中的存放順序。是在跨平台和網路程式設計中,時常要考慮的問題。位元組序經常被分為兩類 最高記憶體位址 0xffffffff 棧區 從高記憶體位址,往 低記憶體位址發展。即棧底在高位址,棧頂在低位址 堆區 從低記憶體位址 往 高記憶體位址發展 全域性區 常...

pc端頁面適配(個人理解)

目也pc端有適配的需求 目前我們pc專案的設計稿尺寸是寬度1920,高度最小是1080。1.在不同解析度的電腦上,網頁可以正常顯示 2.放大或者縮小螢幕,網頁可以正常顯示 對於寬度的適配 首先設定html,body 然後我們可以把頁面分解為背景層 一般寬度都會大於1200px 和內容層 一般寬度都會...