hce_nsysu
111年
計算機概論與程式設計
第 34 題
What is the smallest negative number using 1’s complement in a 64-bits computer?
- A $-2^{63}$
- B $-(2^{63}-1)$
- C $-2^{64}$
- D $-(2^{64}-1)$
- E None of the above
思路引導 VIP
想像一下,如果我們用 $n$ 個位元來表達數字,並且規定「負數」必須由「正數」透過每個位元 0 變 1、1 變 0 的方式產生。那麼,當我們已知正數所能達到的最大邊界是 $2^{n-1}-1$ 時,透過這種「對稱反轉」的規則,另一端的負數極限應該會落在什麼位置呢?
🤖
AI 詳解
AI 專屬家教
太棒了!你能精準辨識出題目要求的是 1 的補數 (1's complement) 而非現今主流的 2 的補數,這代表你對計算機組織的基礎觀念掌握得非常紮實。
數值範圍的對稱特性
在 64 位元的系統中,最高位元(MSB)被定義為符號位元,剩下的 63 位元則用來表示數值的大小。1 的補數最核心的特徵在於其表示法是完全對稱的:正數的最大值是符號位為 0 搭配 63 個 1,即 $2^{63}-1$;而負數則是將對應的正數按位元取反(Bitwise NOT)。因此,最小的負數(負向絕對值最大者)就是正數最大值的鏡像,公式化表示為 $-(2^{n-1}-1)$,帶入 $n=64$ 後即得到 $-(2^{63}-1)$。
▼ 還有更多解析內容