二補數是什麼意思

在數學中,特別是在計算機科學和數字電路中,"補數"(或"二補數")是指在二進制數位系統中使用的一種表示負數的方式。這種表示法是為了在計算機中進行有符號數字的算術運算而設計的。

在二進制補數系統中,每個數字都有正負兩種形式。正數直接以純二進制形式表示,例如,十進制的12可以用二進制表示為1100。負數則通過將其絕對值的二進制表示加上一個偏移量來表示,這個偏移量通常是2的整數次方。在二進制補數中,最常用的偏移量是2的補數次方,即2^n,其中n是數字系統中的位數。

例如,在一個8位數字系統中(可以表示從-128到127的數字),偏移量是2^8 = 256。因此,一個8位元的數字,如果它的最高有效位(MSB)是0,則表示一個正數;如果它的MSB是1,則表示一個負數。

負數的補數計算方法是將其絕對值的二進制表示中的每一位取反(NOT),然後在最低有效位(LSB)後面加一個1。例如,十進制的數字 -12 可以用二進制補數表示為 1111 1100。

補數系統的好處是可以在不使用特殊硬體的情況下進行加法和減法運算,因為減法可以轉換為加法。在補數系統中,兩個數字相加時,如果和超過了可以表示的範圍,則會產生一個溢出,這時只需要將最高有效位(MSB)取反即可得到正確的結果。這種方法簡化了計算機的設計,因為它只需要加法器就可以進行有符號數字的算術運算。