通過負數的原碼-反碼-補碼間的相互轉換可以得到,需要註意此處的數據位數是8位。
正數的原碼、反碼、補碼均壹致,負數的原碼與反碼除符號位相同其他位相反,補碼則在反碼的基礎上加1。
將-7裝換為帶符號位的8位二進制碼(原碼),並轉換成反碼和補碼的過程如下:
原碼:1000 0111
反碼:1111 1000
補碼:1111 1001
將補碼減1得到反碼,將反碼除符號位的位值取反得到原碼,再將原碼轉換成十進制既可以得到十進制的-7。此外也可以直接使用8位二進制帶符號數的模加上帶轉換值再去提取低8位得到補碼。
四位二進制補碼與十進制關系如下:
擴展資料
計算機中的符號數有三種表示方法,即原碼、反碼和補碼。三種表示方法均有符號位和數值位兩部分,符號位都是用0表示“正”,用1表示“負”,而數值位,三種表示方法各不相同。
在計算機系統中,數值壹律用補碼來表示和存儲。原因在於,使用補碼,可以將符號位和數值域統壹處理;同時,加法和減法也可以統壹處理。此外,補碼與原碼相互轉換,其運算過程是相同的,不需要額外的硬件電路。
參考資料: