一、java支持十進制、八進制和十六進制,但是不支持二進制
java支持十進制:
java表示十進制不需要對數字有任何處理
//java表示十進制 int a = 13; System.out.println("java表示十進制:"+a);
運行結果:
java支持八進制:
java表示八進制時,以“0”打頭
//java表示八進制 int b = 013; System.out.println("java表示八進制:"+b);
運行結果:
java支持十六進制
java表示十六進制時,以“0x”打頭
//java表示十六進制 int c = 0x13; System.out.println("java表示十六進制:"+c);
運行結果:
java不顯式支持二進制
因爲二進制過長,java中只能使用字符串來表示二進制
二、java運算方式
上面介紹了,java支持十進制、八進制、十六進制,但是細心的小夥伴馬上就發現了,上面的運行結果並不是我們所要的指定進制的數字,而是統一以十進制的形式標表示,這就說明,java在運算時始終使用二進制作爲運算方法。
三、進制轉換
整型轉換爲字符串
首先聲明一個十進制的整型數字:
int result = 13;
十進制->八進制
//將result由十進制轉爲八進制 String octalStr = Integer.toOctalString(result); System.out.println(octalStr);
運行結果:
十進制->十六進制
//將result由十進制轉爲十六進制 String hexStr = Integer.toHexString(result); System.out.println(hexStr);
運行結果:
十進制->二進制
//將result由十進制轉爲二進制 String binaryStr = Integer.toBinaryString(result); System.out.println(binaryStr);
運行結果:
字符串轉爲整型:
Interger.valueOf(字符串,進制)方法可以將十進制轉爲其他進制的整型表示
String resultStr = "13"; //轉爲八進制 result = Integer.valueOf(resultStr, 8); System.out.println("轉爲八進制:"+result); result = Integer.valueOf(resultStr,16); System.out.println("轉爲十六進制:"+result);
運行結果:
那麼,現在我們將retultStr轉爲二進制會發生什麼呢?
result = Integer.valueOf(resultStr,2); System.out.println("轉爲二進制:"+result);
運行結果:
事實證明,java真的不能以整數形式表示二進制