| # | 輸入 hex | 輸出 hex | 無號 | 有號 | 二進位 |
|---|
這是位元組序轉換器:把多位元組 hex 值在記憶體裡的順序對調。 Endianness 是多位元組值在記憶體中的順序。0x12345678 的 big-endian 是 12 34 56 78,little-endian 是 78 56 34 12,PDP 是 34 12 78 56。顯示範例為 32 位、big-endian → little-endian。兩個字 AA BB CC DD 11 22 33 44 交換後是 DD CC BB AA 44 33 22 11;全部倒序是 44 33 22 11 DD CC BB AA。
__builtin_bswap 片段。左邊是位址 0。little-endian 把最低有效位元組放在最低位址。uint8_t 沒有位元組序。
TCP/IP 是 big-endian(RFC 1700)。little-endian 主機用 htons/htonl。浮點請用 memcpy,不要把 float* 轉成 uint32_t*。
PDP-11 的 32 位是 34 12 78 56 這種混合序。