(1)正數(shù)
原碼和反碼,補(bǔ)碼都是一樣的,都是正數(shù)本身。
(2)負(fù)數(shù)
原碼是符號位為1,數(shù)值部分取X絕對值的二進(jìn)制。
反碼是符號位為1,其它位是原碼取反。
補(bǔ)碼是符號位為1,其它位是原碼取反,未位加1。也就是說,負(fù)數(shù)的補(bǔ)碼是其反碼未位加1。
正負(fù)0都為0 000.
(3) 移碼
就是將符號位取反的補(bǔ)碼.無論正數(shù)和負(fù)數(shù),0除外,0的補(bǔ)碼和移碼相同.
也可以理解成:不算符號位外,最高數(shù)據(jù)位的進(jìn)位.最高數(shù)據(jù)位為0,符號位為0;為1,符號位為1.
例:
原碼 反碼 補(bǔ)碼 移碼
+0 0 000 0 000 0 000 1 000
-0 1 000 1 111 0 000 0 000
1011 原碼:01011 反碼:01011 //正數(shù)時,反碼=原碼 補(bǔ)碼:01011 //正數(shù)時,補(bǔ)碼=原碼 移碼:11011 //原數(shù)+10000 -1011 原碼:11011 反碼:10100 //負(fù)數(shù)時,反碼為原碼取反 補(bǔ)碼:10101 //負(fù)數(shù)時,補(bǔ)碼為原碼取反+1 移碼:00101 //原數(shù)+10000 0.1101 原碼:0.1101 反碼:0.1101 //正數(shù)時,反碼=原碼 補(bǔ)碼:0.1101 //正數(shù)時,補(bǔ)碼=原碼 移碼:1.1101 //原數(shù)+1 -0.1101 原碼:1.1101 反碼:1.0010 //負(fù)數(shù)時,反碼為原碼取反 補(bǔ)碼:1.0011 //負(fù)數(shù)時,補(bǔ)碼為原碼取反+1 移碼:0.0010 //原數(shù)+1