為什么要用補碼相加來表示減法運算

計算機運算器只有加法計算器沒有減法計算器,因此減法運算要用負數相加代替。

最簡單的例子:1-1=0,可以表示為1+(-1)=0,用8位二進制數表示1、-1的話,分別為0000 0001、1000 0001

最高位0、1分別表示正負,如果直接用0000 0001和1000 0001相加的話得到的結果并不為0,而我們知道兩個相反數的和為0,這時候就需要計算機把這兩個有符號的二進制數分別轉換成各自的補碼進行相加才能得到正確的結果0。

負數的補碼等于其符號位不變,其余各位取反(即反碼)再加1,如1000 0001→1111 1110→1111 1111

正數的補碼和反碼等于其原碼,如:0000 0001→0000 0001

這時候1111 1111+0000 0001=0000 0000(忽略掉符號位的進位)得到正確的結果0.

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容