民國114年 第3梯次 數位電子甲級 學科

第1題

小端序(Little-endian)系統執行下列C 程式結果為何?

題目

小端序(Little-endian)系統執行下列C 程式結果為何?

  1. (1) C1, 48, 0, 0
  2. (2) 0, 0, 48, C1
  3. (3) 82, C8, 0, 0
  4. (4) 0, 0, C8, 82

官方答案

(2) 0, 0, 48, C1

解析

小端序(Little-endian)是指多位元組資料中,最低位元組(Least Significant Byte, LSB)存放在最低記憶體位址。以常見範例 float a = -12.5 說明:依 IEEE 754 單精確度格式,負號位元為1;12.5 = 1100.1₂ = 1.1001×2³,指數=3+127=130=1000 0010₂,尾數=1001…,故32位元表示為 1100 0001 0100 1000 0000 0000 0000 0000 = 0xC1480000。小端序系統將此值以位元組為單位由低位址到高位址存放為 00、00、48、C1;當程式以 unsigned char 指標依序讀取 p[0]~p[3],輸出即為「0, 0, 48, C1」。選項1、3為高位元組在前的錯誤順序(大端序寫法),選項4對應不同數值而非本例。

AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。

官方資料