2的補數是什麼意思

在數學中,特別是在二進制(base-2)數位系統中,補數(complement)這個概念有兩種形式:

  1. 二進制補數(Binary complement):在二進制中,一個數字的補數是通過取其位數的相反數來獲得的。例如,在四位二進制數中,如果一個數字是1011(十進制中的11),它的二進制補數就是1100(十進制中的12)。這種補數通常用於計算機科學中的算術運算,如減法。

  2. 二進制反轉補數(Two's complement):這是另一種形式的二進制補數,其中一個數字的補數是通過取其位數的反轉來獲得的,然後再加上1。例如,在四位二進制數中,如果一個數字是1011(十進制中的11),它的二進制反轉補數就是0100(十進制中的4),因為1011的反轉是0100,然後再加1。這種補數是計算機科學中使用最廣泛的補數形式,用於表示有符號數字(signed numbers)。

當談到「2的補數」時,如果不指定是哪種補數,通常指的是二進制反轉補數。因為2的二進制表示是10,它的二進制反轉補數是01,這就是十進制中的1。因此,2的補數就是1。

然而,如果是在其他數位系統中,比如十進制,補數的概念則不同。例如,在十進制中,一個數字的補數是通過從10中減去該數字來獲得的。例如,如果一個數字是7,它的十進制補數就是10 - 7 = 3。這種補數在數學中通常用於減法,尤其是在沒有借位的快速心算中。