基础算法十六转十进制

网友投稿 513 2022-05-28

问题描述

从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。

注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。

基础算法—十六转十进制

样例输入

FFFF

样例输出

65535

代码实现

import java.math.BigInteger; import java.util.Scanner; public class Main { //十六转十进制 public enum num{ //定义一个枚举存储十六进制A~F值的枚举 A(10),B(11),C(12),D(13),E(14),F(15); private int value; num(int value) { this.value=value; } private int getnum() { return value; } private void setnum(int value) { this.value=value; } } public static void main(String[] args) { Scanner sc=new Scanner(System.in); String x=sc.nextLine(); String y=""; //sum最后输出的值 //z代表16的几次方 long sum=0,z=0; if(x.length()<=8) { //按权展开 for (int i = x.length(); i > 0; i--) { char a=x.charAt(i-1); if(a>=65&&a<=70) {//判断a是否在A~F之间 sum+=num.valueOf(String.valueOf(a)).value*Math.pow(16,z); }else if(a>=48&&a<=57) {//判断a是否在0~9之间 sum+=Integer.parseInt(String.valueOf(a))*Math.pow(16,z); } z++; } } System.out.println(sum); } }

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【直播资讯-互动有礼】融媒背景下,传统广电媒体如何更快完成数字化转型?看直播赢记忆枕、背包、折叠键盘、码豆等超值心动奖品!
下一篇:Google Earth Engine(GEE)——全球影像数据正确下载方式和注意事项
相关文章