硬件型號:戴爾ins153501
系統(tǒng)版本:Windows10
補碼是用來解決負數(shù)在計算機中的表示問題的。正數(shù)的補碼就是其本身;負數(shù)的補碼是在其原碼的基礎(chǔ)上,符號位不變,其余各位取反,最后+1,即在反碼的基礎(chǔ)上+1。
在計算機系統(tǒng)中,數(shù)值一律用補碼來表示和存儲。原因在于,使用補碼,可以將符號位和數(shù)值域統(tǒng)一處理;同時,加法和減法也可以統(tǒng)一處理。
例:1-1 = 1+(-1) = 00000001(原碼) + 100000001(原碼) =00000001(反碼) +11111110(反碼) = 11111111(反碼)=10000000(原碼) = -0
用反碼運算時,結(jié)果為-0,雖然+0和-0都是0,但是看起來總是覺得怪怪的,何況0帶符號沒有任何意義,并且出現(xiàn)了兩個能表示0的二進制數(shù)00000000和10000000。
這讓嚴謹?shù)某绦騿T們?nèi)绾文芙邮?,為了消除歧義,于是出現(xiàn)了反碼。
計算機中的有符號數(shù)有三種表示方法,即原碼、反碼和補碼。三種表示方法均有符號位和數(shù)值位兩部分,符號位都是用0表示“正”,用1表示“負”,而數(shù)值位,三種表示方法各不相同 。
(圖片來源于互聯(lián)網(wǎng))