什麼是整數提升

C語言中,在運算之前把比 int 小的整數型別(char、short、位元欄位等)的值轉換為 int(若 int 無法表示則轉為 unsigned int)的規則。因此即使是8位元 uint8_t 之間的加法,也以 int 的寬度計算,加上 ~ 的結果連高位位元也會變成1。把結果指派給較小型別的變數時,才會回到該型別的寬度。與在混合有號與無號的運算中統一型別的「一般算術轉換」一起,會影響比較與位元運算的結果。

日文名稱: 整数拡張

「整數提升」出現在1領域的2道練習題中(C語言基礎等)。

這個名詞所屬的領域: C語言基礎

解析中的「整數提升」

出現「整數提升」的題目(2題)

  1. unsigned char 為8位元,int 為32位元。執行上方程式碼時的輸出,下列何者正確?
  2. uint8_t 是8位元的無號整數型別,int 為32位元。執行上方程式碼時的結果,下列何者正確?

相關名詞

微控制器(MCU) 巨集(macro) 未定義行為 位元欄位(bit-field) 函式指標 前置處理器 指標(pointer) 記憶體洩漏 動態記憶體配置 結構(struct)

前往名詞解釋列表