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