蓝桥杯 基础练习 十六进制转十进制

问题描述

在这里插入图片描述

Java 代码实现

方案一:使用 BigInteger 类直接转换。

import java.math.BigInteger;
import java.util.*;

public class Main{
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		
		System.out.println(new BigInteger(in.next(), 16).toString(10));
		
		in.close();
	}
}

方案二:直接转换

import java.util.*;

public class Main{
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		
		String s = in.next();
		long result = 0;
		
		Map<Character, Integer> map = new HashMap<Character, Integer>();
		map.put('0', 0);map.put('1', 1);map.put('2', 2);map.put('3', 3);
		map.put('4', 4);map.put('5', 5);map.put('6', 6);map.put('7', 7);
		map.put('8', 8);map.put('9', 9);map.put('A', 10);map.put('B', 11);
		map.put('C', 12);map.put('D', 13);map.put('E', 14);map.put('F', 15);
		
		int len = s.length();
		for (int i = len-1, j = 0; i >= 0; --i, ++j) {
			result += map.get(s.charAt(i)) * (long)Math.pow(16, j);
		}
		System.out.println(result);
		
		in.close();
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值