java基礎——Java進制轉換

Java中在聲明數字時默認採用的是十進制,可以在數字前加上符號表示數字採用八進制【前面加0(零)】或者十六進制【前面加上0x(x)】。

Java的整型封裝類IntegerLong提供toStringint i,int radix)靜態方法,可以將一個任意進制的整數轉換爲其他進制的整數。

使用IntegerLongtoBinaryString方法將整數轉換爲二進制。

使用IntegerLongtoOctalString方法將整數轉換爲八進制。

使用IntegerLongtoHexString方法將整數轉換爲十六進制。

使用IntegerLongtoString(int i)方法可以將其他進制的整數轉換爲十進制的整數的字符串表示。


public class TestConversion {
public static void main(String[] args) {
int iOct = 0567;//八進制數字的聲明,在前面加上0(零)
int iTen = 1000;//十進制數字的聲明
int iHex = 0xAbcd;//十六進制數字的聲明,在前面加上0x(零x),x和abcd不區分大小寫
          
System.out.println("八進制0567裝換成二進制:Integer.toString(iOct, 2)="+Integer.toString(iOct, 2));
System.out.println("八進制0567裝換成二進制:Integer.toBinaryString(iOct)="+Integer.toBinaryString(iOct));
System.out.println("八進制0567裝換成十進制:Integer.toString(iOct, 10)="+Integer.toString(iOct, 10));
System.out.println("八進制0567裝換成十進制:Integer.toString(iOct)="+Integer.toString(iOct));
System.out.println("八進制0567裝換成十六進制:Integer.toString(iOct, 2)="+Integer.toString(iOct, 16));
System.out.println("八進制0567裝換成十六進制:Integer.toHexString(iOct)="+Integer.toHexString(iOct));
          
System.out.println();
          
System.out.println("十進制1000裝換成十六進制:Integer.toString(iTen,16)="+Integer.toString(iTen,16));
System.out.println("十進制1000裝換成十六進制:Integer.toHexString(iTen)="+Integer.toHexString(iTen));
System.out.println("十進制1000裝換成八進制:Integer.toString(iTen,8)="+Integer.toString(iTen,8));
System.out.println("十進制1000裝換成八進制:Integer.toOctalString(iTen)="+Integer.toOctalString(iTen));
System.out.println("十進制1000裝換成二進制:Integer.toString(iTen,2)="+Integer.toString(iTen,2));
System.out.println("十進制1000裝換成二進制:Integer.toBinaryString(iTen)="+Integer.toBinaryString(iTen));
          
System.out.println();
          
System.out.println("十六進制0xAbcd裝換成十進制:Integer.toString(iHex,10)="+Integer.toString(iHex,10));
System.out.println("十六進制0xAbcd裝換成十進制:Integer.toString(iHex)="+Integer.toString(iHex));
System.out.println("十六進制0xAbcd裝換成八進制:Integer.toString(iHex,8)="+Integer.toString(iHex,8));
System.out.println("十六進制0xAbcd裝換成八進制:Integer.toOctalString(iHex)="+Integer.toOctalString(iHex));
System.out.println("十六進制0xAbcd裝換成二進制:Integer.toString(iHex,2)="+Integer.toString(iHex,2));
System.out.println("十六進制0xAbcd裝換成二進制:Integer.toBinaryString(iHex)="+Integer.toBinaryString(iHex));
          
System.out.println();
//還可將任意進制的整數裝換成其他任意進制的數字
System.out.println("十六進制0xAbcd裝換成七進制:Integer.toString(iHex,7)="+Integer.toString(iHex,7));
          
}
}

程序輸出:

八進制0567裝換成二進制:Integer.toString(iOct, 2)=101110111
八進制0567裝換成二進制:Integer.toBinaryString(iOct)=101110111
八進制0567裝換成十進制:Integer.toString(iOct, 10)=375
八進制0567裝換成十進制:Integer.toString(iOct)=375
八進制0567裝換成十六進制:Integer.toString(iOct, 2)=177
八進制0567裝換成十六進制:Integer.toHexString(iOct)=177

十進制1000裝換成十六進制:Integer.toString(iTen,16)=3e8
十進制1000裝換成十六進制:Integer.toHexString(iTen)=3e8
十進制1000裝換成八進制:Integer.toString(iTen,8)=1750
十進制1000裝換成八進制:Integer.toOctalString(iTen)=1750
十進制1000裝換成二進制:Integer.toString(iTen,2)=1111101000
十進制1000裝換成二進制:Integer.toBinaryString(iTen)=1111101000

十六進制0xAbcd裝換成十進制:Integer.toString(iHex,10)=43981
十六進制0xAbcd裝換成十進制:Integer.toString(iHex)=43981
十六進制0xAbcd裝換成八進制:Integer.toString(iHex,8)=125715
十六進制0xAbcd裝換成八進制:Integer.toOctalString(iHex)=125715
十六進制0xAbcd裝換成二進制:Integer.toString(iHex,2)=1010101111001101
十六進制0xAbcd裝換成二進制:Integer.toBinaryString(iHex)=1010101111001101

十六進制0xAbcd裝換成七進制:Integer.toString(iHex,7)=242140


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