符號位即八位字符的第一位,1為負,0為正。
原碼:取絕對值
反碼:符號位0表示正,1表示負,正數的反碼等於原碼。負數的反碼等於原碼按位數取反,(絕對值按位求反)
步驟:先將這個負數化為原碼,再根據原碼取反。比如該負數原碼是:0 0000001,那么它取反就是0 1111110
補碼:符號位0表示正,1表示負,正數的補碼等於原碼。負數的補碼等於反碼末位加1,
步驟:先將這個負數化為原碼再化為反碼,末位加1。比如該負數的反碼是1 1111110,那么它末位加1就是1 1111111
移碼:等於補碼的符號(第一位數字)位取反。
步驟:先把這個數化為補碼,然后再根據補碼的第一位數字取反即可。(移碼和補碼的關系:同一數值的移碼與補碼符號位相反,其它各位相同。)
總結:
正數的原碼,補碼,反碼相同;
負數的反碼:原碼的數值取反;
負數的補碼:原碼轉換成反碼,反碼末位加1
負數的移碼:與補碼的符號位(第一位數字)相反
已知補碼求原碼:
最高位如果是1的話(負數),那么除了最高位之外的取反,然后加1得原碼。
最高位如果是0的話,不變,正數的補碼就是他的原碼。
R進制轉化為十進制,用乘法。(*R多少次方)
十進制轉化為R進制,用取余法。(余數從下往上寫)
鏈接 http://www.rkpass.cn/u.jsp?u=316407