Java的byte轉int

分類:IT技術 時間:2017-03-16

知識儲備

①在Java中,byte的表示是以補碼形式存在的,取值範圍為-128~127,它沒有unsigned類型

②byte大小為8bit,int大小為32bit

③當byte要轉化成int時,會自動填充符號位至32bit

轉化的問題

JVM默認的byte轉int是填充符號位,即保證數值不變,例如

public static void main(String args[]) {
	byte b = -12;
	int i = b;	
	system.out.println(i);	//輸出結果為-12
}

但有時候我們要的是byte裏邊的信息不變,即前邊填充0,例如

public static void main(String args[]) {
	byte b = -12;
	int i = b & 0xff;
	System.out.println(i);		//輸出244,即由符號位變為無符號位
}

補充

Byte.toUnsignedInt(byte b)起到和 & 0xff 同樣的效果


Tags: public Java 信息 知識

文章來源:


ads
ads

相關文章
ads

相關文章

ad