位元組序
位元組序 (Endian) 和 位元組序 (endianness) (或“位元組順序”) 描述了計算機如何組織構成數字的位元組。
每個記憶體儲存位置都有一個索引或地址。每個位元組可以儲存一個 8 位數字(即 0x00 到 0xff 之間),因此您必須預留多個位元組來儲存更大的數字。目前最常見的在一個數字中儲存多個位元組的順序是小端序 (little-endian),它被用於所有 Intel 處理器。小端序意味著按從低到高的順序儲存位元組(其中最低有效位元組佔據第一個或最低地址),這類似於歐洲常見的日期書寫方式(例如,2050 年 12 月 31 日)。
自然地,大端序 (big-endian) 是相反的順序,類似於 ISO 日期(2050-12-31)。大端序也經常被稱為“網路位元組序”,因為網際網路標準通常要求資料以大端序儲存,從標準的 UNIX 套接字級別開始,一直到標準化的 Web 二進位制資料結構。此外,以前使用 68000 系列和 PowerPC 微處理器的舊款 Mac 計算機也使用大端序。
數字 0x12345678(即十進位制 305 419 896)的示例
- 小端序 (little-endian):
0x78 0x56 0x34 0x12 - 大端序 (big-endian):
0x12 0x34 0x56 0x78 - 混合端序 (mixed-endian)(歷史上的,非常罕見):
0x34 0x12 0x78 0x56
型別化陣列指南提供了一個示例,該示例 可將任何數字根據給定的位元組序轉換為其二進位制表示形式。