当前位置:   article > 正文

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

biginteger十六机制转十进制

问题描述

在这里插入图片描述

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();
	}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

方案二:直接转换

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();
	}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号