什麼是反碼、補碼和補碼運算

來源:酷知科普網 3.17W

反碼補碼是二進位制常用的一種運算方式,在二進位制中,為了區別正數和負數,在二進位制的前年加以一位符號位,符號位0表示這個數為正數,符號位為1表示這個數為負數,這種形式的數碼稱為原碼

什麼是反碼、補碼和補碼運算

一、為什麼要用補碼

(01)在做運算時,如果兩個數用原碼錶示,需要比較兩數的絕對值大小,然後以絕對值大的一個減去絕對值小的一個,求出差後,以絕對值大的一個符號作為差值的符號。

什麼是反碼、補碼和補碼運算 第2張

(02)這樣計算比較麻煩,如果能用兩數的補碼代替上述的減法操作,就是運算器的電路結構大為簡化

什麼是反碼、補碼和補碼運算 第3張

二、什麼是補碼

(01)舉例,你下午五點鐘發現手錶停在了上午十點,這時你必須把表調到五點,這時有兩種調法,一種往回調5個小時,一種你往上調7個小時,10+7=17,17-12=5,這個例子說明10-5的運算可以用10+7來代替,這時我們說7為-5的補數,同樣這個道理可以用於二進位制

什麼是反碼、補碼和補碼運算 第4張

(02)一種往回調5個小時,一種你往上調7個小時,10+7=17,17-12=5,這個例子說明10-5的運算可以用10+7來代替,這時我們說7為-5的補數,同樣這個道理可以用於二進位制新增網路視訊

什麼是反碼、補碼和補碼運算 第5張

三、補碼演算法

(01)基於上述演算法原理,對於有效數字(不包括符號位)n,當他為正數時(符號位為0),補碼與原碼相同,當為負數(符號位為1時),它的補碼為2的n次方減N

什麼是反碼、補碼和補碼運算 第6張

(02)為了避免在求補碼的過程中做減法運算,通常先求出N的反碼

什麼是反碼、補碼和補碼運算 第7張

(03),然後在負數的反碼上加1得出補碼,即二進位制負數的補碼等於他的反碼加1

什麼是反碼、補碼和補碼運算 第8張

(04)如圖上所描述

什麼是反碼、補碼和補碼運算 第9張

四、舉例

(01)如圖,得出反碼,補碼

什麼是反碼、補碼和補碼運算 第10張
什麼是反碼、補碼和補碼運算 第11張
熱門標籤