public class SystemConversion{
     //将其他进制转换为二进制字符串
     public static String convertToBinary(int number){
           return Integer.toBinaryString(number);
     }
     
     //将其他进制转换为八进制字符串
     public static String convertToOctal(int number){
           return Integer.toOctalString(number);
     }

     //将其他进制转换为十六进制字符串
     public static String convertToHex(int number){
           return Integer.toHexString(number);
     }

    //将二进制字符串转换为十进制整数
     public static int convertBinaryToDecimal(String binaryStr){
           return Integer.parseInt(binaryStr,2);
     }
 
     //将八进制字符串转换为十进制整数
     public static int convertOctalToDecimal(String octalStr){
           return Integer.parseInt(octalStr,8);
     }

     //将十六进制字符串转换为十进制整数
     public static int convertHexToDecimal(String hexStr){
           return Integer.parseInt(hexStr,16);
     }

     public static void main(String[] args){
           System.out.println(convertToBinary(20));
           System.out.println(convertToOctal(20));
           System.out.println(convertToHex(20));

           System.out.println(convertToBinary(0b110));
           System.out.println(convertToBinary(071));
           System.out.println(convertToBinary(0xf1));

           System.out.println(convertBinaryToDecimal("110"));
           System.out.println(convertOctalToDecimal("71"));
           System.out.println(convertHexToDecimal("f1"));
           
           //Integer.valueOf(String s, int radix)方法也可将其他进制转换为十进制整数
           System.out.println(Integer.valueOf("FFFF",16).toString());
           System.out.println(Integer.valueOf("776",8).toString());
           System.out.println(Integer.valueOf("0101",2).toString());
     }
}

Integer.toBinaryString(int i); 将其他进制的整数转换为二进制字符串

Integer.toOctalString(int i); 将其他进制的整数转换为八进制字符串

Integer.toHexString(int i); 将其他进制的整数转换为十六进制字符串

Integer.parseInt(string s,int radix); 将其他进制的字符串转换为十进制整数

Integer.valueOf(String s,int radix);也可以将其他进制的字符串转换为十进制整数,只不过该方法返回的值是Integer类型。

进制的整数表示方法:二进制整数(前缀加0b)、八进制整数(前缀加0)、十六进制整数(前缀加0x)。

int a=0b110; //二进制
int b=071; //八进制
int c=0xf1; //十六进制

 

 posted on 2018-06-29 18:47  会飞的金鱼  阅读(236)  评论(0)    收藏  举报