4. 以2的補數法來表示整數,一個位元組(Byte)可以表示的最大整數為256。
(A)O
(B)X
答案:登入後查看
統計: A(53), B(180), C(0), D(0), E(0) #2847087
統計: A(53), B(180), C(0), D(0), E(0) #2847087
詳解 (共 1 筆)
#7085771
這題關鍵有兩個:
-
一個位元組 = 8 bits
-
二補數(two's complement)用來表示「有號整數」
→ 會把範圍的一半分給負數
→ 因此最大值絕對「小於」255
→ 不可能是 256
先記住重要結論:
8-bit 二補數的表示範圍:
–128 ~ +127
所以「最大整數」是 127 而不是 256。
因此題目說「最大整數為 256」→ 明顯錯誤。
【逐一破題】
(A) O
→ 錯。256 完全不可能出現在 8-bit 的二補數。
(B) X
→ 正確。
【延伸知識】
一、8 bit 可以有多少組合?
2⁸ = 256 個組合
但這 256 個組合要用來表示「正數+負數」。
二、8-bit 二補數的範圍怎麼算?
公式:
-
最小值 = −2⁷ = −128
-
最大值 = 2⁷ − 1 = 127
為什麼最大只能到 127?
因為第 8 bit 用來當「符號位元」:
-
0 = 正
-
1 = 負
剩下 7 bit 用來表示大小 → 最大值 = 2⁷−1 = 127
【記憶技巧】
一句話:
8-bit 二補數:–128 到 127
絕對沒有 256。
再短一句:
256 是組合數,不是最大值。
【常見錯誤】
-
把「組合個數 256」誤當成「最大整數」
-
忘記二補數需要符號位 → 正數能表示的範圍被縮小
-
把「無符號整數」和「二補數(有符號)」混在一起
-
無符號最大是 255
-
二補數最大是 127
-
0
0