一、無符號整型輸出格式
Java中,無符號整型的輸出格式與有符號整型一致,都是使用%s、%d、%f、%e等格式控制符來輸出,具體使用方法與有符號整型相同。
public class TestUnsignedInt { public static void main(String[] args) { int unsignedInt = Integer.parseUnsignedInt("4294967295"); System.out.printf("無符號整型的十進位表示:%d\n", unsignedInt); System.out.printf("無符號整型的十六進位表示:%x\n", unsignedInt); System.out.printf("無符號整型的二進位表示:%s\n", Integer.toBinaryString(unsignedInt)); } }
二、無符號整型是什麼意思
無符號整型是一種不帶符號的,可以表示正整數和0的整數類型,用來擴展有符號整型的取值範圍,避免出現負數。無符號整型是Java 8中新增的特性。
所謂無符號整型,就是不區分正負號,只能表示非負整數,例如:0、1、2、3、···、4294967295(2的32次方減1)。
與有符號整型不同的是,無符號整型沒有負數,所以在計算機內部,會將所有位數都用於表示數據本身,無需將一位作為符號位,這樣就可以表示更大的整數了。
三、無符號整型佔多少位元組
Java中,無符號整型的大小與有符號整型一致,即為4個位元組(32位),與C++中的unsigned int保持一致。
四、無符號整型取值範圍
Java中,無符號整型的取值範圍為0~4294967295,是有符號整型的兩倍。無符號整型可以通過兩種方法來表示:
- 通過有符號整型進行轉換,例如:int i = Integer.parseUnsignedInt(“4294967295”)。
- 通過添加L或l後綴來表示長整型常量無符號的值,例如:long l = 4294967295L。
public class TestUnsignedInt { public static void main(String[] args) { int unsignedInt = Integer.parseUnsignedInt("4294967295"); System.out.printf("無符號整型的取值範圍:%d~%d\n", 0, Integer.MAX_VALUE * 2 + 1); } }
五、無符號長整型
Java中,無符號長整型不存在,因為Java中的長整型(long)已經足夠大,可以表示非常大的整數,而不需要無符號長整型。
六、無符號短整型取值範圍
Java中,無符號短整型也不存在,因為Java中的短整型(short)已經足夠大,可以表示-32768~32767範圍內的整數,而不需要無符號短整型。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/219766.html