java任意进制转化成十进制

方法一(推荐):

运用Integer.parseInt(String s,int radix)来直接进行转换

s是要转换的进制数,radix是其对应的进制

package test;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Test {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int x = 0;

        //输入要转换的任意进制数
        String ss=br.readLine();
        
        //把任意进制转换为十进制(此处是二进制转换为十进制,其他进制的话则把‘2’改成其他数字即可)
        int x=Integer.parseInt(ss,2);
        
        //输出转换后的十进制
        System.out.println(x);
    }
}

运行结果如下:

10010

18

方法二 :

运用原理来编写转换进制代码(此处以二进制为例)

package test;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Test {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int x = 0;

        //输入要转换的二进制
        String ss=br.readLine();

        //把输入的二进制转换成十进制
        for(char f: ss.toCharArray())
            x = 2*x+ (f == 1 ? 1 : 0);

        //输出转换后的十进制
        System.out.println(x);
    }
}

运行结果如下:

10010

18
经验分享 程序员 微信小程序 职场和发展