真值 原碼 反碼 補碼 移碼 2010-03-05 13:17
真值:正數或負數的真值為其絕對值對應的二進位制數前面加上正號或負號。
如2的真值為+00000010
-2的真值為-00000010
(其中正號可以省略)
原碼:正數的原碼為對應的二進位制數,如2的原碼為00000010;
負數的原碼為其絕對值對應的二進位制數的第一位變為1,如-2的原碼為10000010
(原碼的第一位表示符號位,0表示正,1表示負)
反碼:正數的反碼與其原碼相同;
負數的反碼是對其原碼逐位取反,但符號位除外。
補碼:正數的補碼與原碼相同;
負數的補碼是在其反碼的末位加1。
移碼:移碼是對補碼的符號位取反得到的,為了方便比較大小而引入的
舉例(以8位二進位制數為例):
2 -2
真值 00000010 -00000010
原碼 00000010 10000010
反碼 00000010 11111101
補碼 00000010 11111110
移碼 10000010 01111110
0 -0
真值 00000000 -00000000
原碼 00000000 10000000
反碼 00000000 11111111
補碼 00000000 00000000
移碼 10000000 10000000
原碼,補碼,反碼,移碼
為什麼有這些碼 定義機器字長為n,若數值x是純整數 若數值x是純小數,對純小數的原碼計算是先將其轉換為二進位制 必須的 例 若機器字長為8,則 1 原 0 0000001 1 原 1 0000001 7 原 0 0000111 127 0 1111111 127 原 1 1111111 7 原 1 ...
原碼,反碼,補碼,移碼
移碼 又叫增碼 是符號位取反的補碼,先將符號位取反,再取補碼,意思就是正數只將 變為1,負數將 變為0,再取補 x 1011 x 移 11011 符號位 1 表示正號 x 1011 x 移 00101 符號位 0 表示負號 一般用做浮點數的階碼,引入的目的是為了保證浮點數的機器零為全0。一 原碼 求...
原碼 反碼 補碼 移碼
如果機器字長為n,那麼乙個數的原碼就是用乙個n位的二進位制數,其中最高位為符號位 正數為0,負數為1。剩下的n 1位表示概數的絕對值。例如 x 101011 x 原 00101011 x 101011 x 原 10101011 位數不夠的用0補全。ps 正數的原 反 補碼都一樣 0的原碼跟反碼都有兩...