原碼、反碼、補碼、移碼


1. 原碼、反碼、補碼、移碼

原碼:最高位為符號位(0表示正,1表示負),其余為為其真值的絕對值

如8的原碼為 00001000,-8的原碼為10001000

正數的反碼、補碼與其原碼相同

反碼:負數的反碼為其原碼的基礎上除符號位外其余取反(1取反為0,0取反為1)

如-8的反碼為11110111

補碼:負數的補碼為其反碼的基礎上末位+1

如11110111末位+1后為11111110

無論正負,其移碼都為其補碼的基礎上符號位取反

2.java中的數據是以補碼的形式存儲

如題:

byte b=(byte)129;
System.out.println(b);
//控制台輸出結果:    -127
//過程如下:
//129的補碼為       010000001
//從低位開始取8位得   10000001
//減1得              10000000
//取反碼為           11111111即-127


免責聲明!

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



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