十六进制转八进制 Java 蓝桥杯基础训练 12 简单解法

十六进制转八进制 Java 蓝桥杯基础训练 12 简单解法

题目

十六进制转八进制 Java 蓝桥杯基础训练 12 简单解法

思路

**1.**首先看到进制转换在Java首先想到的是调用Integer相关转换方法。
**2.**但我大意了,没看题。十六进制转八进制 Java 蓝桥杯基础训练 12 简单解法
当我在查阅测试数据时发现了那些长度恐怖的十六进制数时,才意识到事情的不对劲。在100000的长度面前,常用的基本数据类型基本报废。
**3.**网上的一些方法都是将十六进制转换成二进制,再从二进制转换成八进制。
**4.**实际上这有点繁琐。我们可以使用BigInteger大数类和toString()解决。

Java代码

// An highlighted block
import java.util.Scanner;
import java.math.BigInteger;

public class Demo {
	public static void main(String[] args) {
	Scanner sc = new Scanner(System.in);
	int n = sc.nextInt();
	String[] str = new String[n];
	for (int i = 0; i < n; i++) {
		str[i] = sc.next();
		BigInteger bt=new BigInteger(str[i], 16);
		System.out.println(bt.toString(8));
		}
	}
}
上一篇:python – 有一个numpy biginteger?


下一篇:Integer 数据类型就无能