首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

大端與小端模式詳解:記憶體存儲差異與判斷方法

     編輯:關於C語言

核心定義

以 32 位無符號整數 0x01020304 為例:

  • 大端:低地址存高位字節,即 &temp[0] == 0x01。
  • 小端:低地址存低位字節,即 &temp[0] == 0x04。

圖示對比(16 位 0x1234)

模式地址 0x4000地址 0x4001
Little-endian0x340x12
Big-endian0x120x34

判斷程序碼片段

int n = 0x7812; // 32位系統 int 佔4字節
char *p = (char*)&n;
if (*p == 0x78) printf("小端");
else if (*p == 0x12) printf("大端");

利用 char* 訪問首字節即可區分。

避坑提醒

網絡傳輸通常採用大端(網絡字節序),主機序視 CPU 架構而定。跨平台通訊務必使用 htonl/ntohl 等轉換函數。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved