十六进制转十进制 BASIC-12

十六进制转十进制

代码

import java.math.BigInteger;
import java.util.Scanner;
/*
 *  从键盘输入一个不超过8位的正的十六进制数字符串,
 * 将它转换为正的十进制数后输出。
  注:十六进制数中的10~15分别用大写的英文字母
A、B、C、D、E、F表示。
 * */
public class Main{
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String hex = sc.next();
		//int i16 = Integer.parseInt(hex,16);
        long i16 = Long.parseLong(hex.trim(),16);
		System.out.println(i16);
		
	}
	
}


image-20210331182315877

测试用例

FE65CDBA

这个数据运行错误应该是超出了int 的范围:-231~231-1

8位的正的十六进制数字符串最大FFFFFFFF:4294967295

超过了INT最大:2147483647

注意这块需要Long,因为Int的范围已经不够了。API文档中该方法的解释如下:

image-20210331182504672

posted @ 2021-03-31 18:36  记录学习Blog  阅读(61)  评论(0编辑  收藏  举报