內容大綱:

在計算機科學和數學中補數(Complement)是一種表示負數的方法。

在補數表示法中,正數和負數都可以用二進制表示,並且負數的表示方式與正數有一定的關聯。

最常見的補數表示法是二進制的補數表示法,其中包括:

1. 一的補數

2.二的補數


1. 一的補數

將一個二進制數字的每個位元取反(0 變為 1,1 變為 0)。

舉例來說,假設以8 位元的二進制來表示。

以下是一的補數的轉換方式:

正數 7: 00000111
負數 -7:11111000

在一的補數中,正數的表示方式保持不變,而負數則是將正數的每個位元取反

這就是一的補數表示法的基本概念。

<注意1> 一的補數表示法有一個特別的地方,也就是正零和負零的存在!

  • 正零表示為全 0(00000000),而負零則是全 1(11111111)。
  • 這是因為當將所有位元取反時,正數的二進制表示和補數表示都相同。

<注意2>使用一的補數進行加或減計算時,是以正數的加法進行運算

  • 加法:
    • 將要相加的兩個數字(正數或負數)的二進制表示對齊,確保位元數相同。
    • 進行二進制加法,將對應位元上的數字相加,並考慮進位。
    • 如果最高位元(最左邊)產生進位,則將進位加到結果的最低位元上。
    • 忽略最高位元的進位,得到最終結果。
    • 如果結果的最高位元是1,則表示為負數。
  • 加法範例:
    • 計算 5 + (-3):
    • 步驟 1:對齊位元: 00000101 + 11111101
    • 步驟 2:相加: 00000010(2)
    • 最終結果為正數 2。
  • 減法:
    • 將減法轉換為加法操作,就是將減數取其一的補數(將每個位元取反)。
    • 將被減數和補數進行加法操作,得到結果。
    • 如果結果的最高位元是1,則表示為負數。
  • 減法範例:
    • 計算 7 - (-2):
    • 步驟 1:取補數: 11111110(-2 的一的補數)
    • 步驟 2:相加: 11111101(-3)
    • 最終結果為負數 -3。

 

 

2. 二的補數

在二的補數中,正數的表示方式保持不變,而負數則是將正數的每個位元取反,然後將最低位元(最右邊的位元)加 1
這樣,二的補數表示法可以有效地表示正數和負數,同時也方便進行加法和減法運算。

使用二的補數表示法,負數的加法和減法可以直接使用正數的加法操作來進行
當進行加法時,如果結果的最高位元(最左邊的位元)產生進位,則忽略該進位。
這使得計算機可以使用相同的硬體電路和運算邏輯來執行正數和負數的加法。

<注意1> 加法計算

  • 將要相加的兩個數字(正數或負數)的二進制表示對齊,確保位元數相同。
  • 進行二進制加法,將對應位元上的數字相加,並考慮進位。
  • 如果最高位元(最左邊)產生進位,則忽略該進位
  • 最終結果即為正確答案。

舉例來說,計算 5 + (-3):

  • 步驟 1:對齊位元: 00000101 + 11111101
  • 步驟 2:相加: 00000010(2)
  • 最終結果為正數 2。

<注意2> 減法計算

  • 減法轉換為加法計算,將減數取其二的補數(將每個位元取反,然後將最低位元加 1)。
  • 將被減數和補數進行加法操作,得到結果。
  • 如果最高位元(最左邊)產生進位,則表示結果為負數

舉例來說,計算 7 - (-2):

  • 步驟 1:取補數: 00000010(-2 的二的補數)
  • 步驟 2:相加: 00000101(5)
  • 最終結果為正數 5。

 


常考題型:

  • 基本計算題
  • 概念選擇題​​​​​​​
創作者介紹
創作者 TechShare 的頭像
iLoveTech

TechShare

iLoveTech 發表在 痞客邦 留言(0) 人氣( 56 )