免費開始練習
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)$。

▼ 還有更多解析內容

🏷️ 相關主題

C 語言程式設計基礎與陣列記憶體配置
查看更多「計算機概論與程式設計」的主題分類考古題