[Java] 蓝桥杯ALGO-85 算法训练 进制转换

问题描述
编写一个程序,输入一个二进制的字符串(长度不超过32),然后计算出相应的十进制整数,并把它打印出来。
输入格式:输入为一个字符串,每个字符都是’0’或’1’,字符串的长度不超过32。
输出格式:输出一个整数。
输入输出样例

样例输入
1101
样例输出
13

package algo85;

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        char[] binary = scanner.nextLine().toCharArray();
        scanner.close();
        int num = 0;
        int n = binary.length;
        for (int i = n - 1; i >= 0; i--) {
            if (binary[i] == '1') {
                num += Math.pow(2, n - i - 1);
            }
        }
        
        System.out.println(num);
    }

}

 

你可能感兴趣的:(蓝桥杯,Java)