正數的原碼、反碼和補碼是一樣的,並且符號位(第一位)是0。
例如:9的原碼:00001001 反碼:00001001 補碼:00001001
負數:負數符號第一位是1。
原碼和反碼的相互轉換:符號位不變,數值位按位取反
原碼和補碼的相互轉換:符號位不變,數值位按位取反,末位再加1
例如:-8的原碼:10001000 反碼:11110111 補碼:11111000
-5的原碼:10000101 反碼:11111010 補碼:11111011
計算機中數字以補碼儲存,因為原碼和反碼計算不准確,而補碼是准確的。
例如:9+(-8)=1
如果用原碼:00001001+10001000=10010001即-17 錯誤。
如果用補碼:00001001+11111000=00000001 原碼為00000001 即1。