原碼、反碼、補碼、移碼之間的轉換


        符號位即八位字符的第一位,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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM