java轉換器
A. 如何用java寫個整數進制轉換器
java實現:整數進制相互轉換的方法:
十進制轉為二進制、八進制、十六進制, 用 Integer.toXXXString()方法
(1)十進制轉為二進制: Integer.toBinaryString(int i);
public static String toBinaryString(inti):以二進制(基數 2)無符號整數形式返回一個整數參數的字元串表示形式。
(2)十進制轉為8進制 :Integer.toOctalString(int i);public static String toOctalString(inti):以八進制(基數 8)無符號整數形式返回一個整數參數的字元串表示形式。
(3)十進制轉為16進制: Integer.toHexString(int i);
public static String toHexString(inti):以十六進制(基數 16)無符號整數形式返回一個整數參數的字元串表示形式。
舉例:
Stringbin=Integer.toBinaryString(10);Stringoct=Integer.toOctalString(10);Stringhex=Integer.toHexString(10);2.十六進制、八進制、二進制轉為十進制(有兩種方法):parseInt() 和valueOf()。
Integer.parseInt(String s,int radix);
public static int parseInt(String s,int radix) throws NumberFormatException{}使用第二個參數作為指定的基數,將字元串參數解析為有符號的整數;
Integer.valueOf(String s,int radix);
public static Integer valueOf(Strings, intradix) throws NumberFormatException{}返回一個 Integer 對象,該對象中保存了用第二個參數提供的基數進行解析時從指定的 String 中提取的值。
舉例:
try{inti=Integer.parseInt("a",16);//輸出為10進制數10System.out.println(i);}catch(Exceptione){e.printStackTrace();}try{//十六進制轉成十進制Stringhex=Integer.valueOf("FFFF",16).toString();System.out.println(hex);//八進制轉成十進制Stringoct=Integer.valueOf("12",8).toString();System.out.println(oct);//二進制轉十進制Stringbin=Integer.valueOf("0101",2).toString();System.out.println(bin);}catch(Exceptione){e.printStackTrace();}轉