java 負數的二進制表示

JAVA 基礎系列

計算機對有符號數(包括浮點數)的表示有三種方法:原碼、反碼和補碼,三種表示方法均有符號位和數值位兩部分,符號位都是用0表示“正”,用1表示“負”
反碼:原碼按位取反
補碼:反碼+1
移碼:移碼(又叫增碼)是符號位取反的補碼

對於負數而言,是以補碼的形式存儲在內存中的。以-7(int)爲例
第一步:將-7的絕對值轉化爲二進制 0000 0111
第二步:將上面的二進制以反碼錶示 1111 1000
第三步:轉化爲補碼:11111111111111111111111111111001

這個二進制的值可以通過Integer.toBinaryString()來獲取。int 在內存中佔用4個字節

代碼:

	public static void main(String[] args) {
	
		int d = -7; // 
		System.out.print(""+Integer.toBinaryString(d)+" \n");

	}
	

輸出結果:

11111111111111111111111111111001 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章