进制转换

题目描述

编写一个程序,接受一个十六进制的数,输出该数值的十进制表示。

数据范围

保证结果在:

华为OD机试 - 进制转换(Java 2024 E卷 100分)_进制转换

输入描述

输入一个十六进制的数值字符串。

输出描述

输出该数值的十进制字符串。不同组的测试用例用\n隔开。

示例

输入

0xAA

输出

170

Java 编程

package cn.net.javapub.demo2.demo;

import java.util.*;
import java.io.*;

public class Main{
    public static void main(String[] args) throws IOException{
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        String input;
        while((input = bf.readLine())!=null){
            String temp = input.substring(2,input.length());
            int sum = 0;
            int length = temp.length();
            for(int i= length-1;i>=0;i--){
                char c = temp.charAt(i);
                int tempNum = (int)c;
                if(tempNum>=65){
                    tempNum = tempNum - 65 + 10;
                }else{
                    tempNum = tempNum - 48;
                }
                sum = sum + (int) Math.pow(16, length-i-1)*tempNum;
            }
            System.out.println(sum);
        }
    }
}

展示效果:

华为OD机试 - 进制转换(Java 2024 E卷 100分)_进制转换_02