0
点赞
收藏
分享

微信扫一扫

笔试算法《进制转换16转10》


题目

写出一个程序,接受一个十六进制的数,输出该数值的十进制表示

  • 示例1
  • 输入
    0xA
    0xAA
  • 输出
    10
    170

代码

package org.lht.boot.lang.suanfa;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Map;

/**
* @author haitao.li
* @description: 写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。
* @date 2021/4/2 16:02
*/
public class Huawei进制转换 {

public static void main(String[] args) throws IOException {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));

String str = null;
while ((str = bufferedReader.readLine()) != null) {
String substring = str.substring(2);
int total = 0;
for (int i = substring.length() - 1, j = 0; i >= 0; i--, j++) {
if (substring.charAt(i) > 57) {
total = total + (substring.charAt(i) - 55) * (int)Math.pow(16, j);
} else {
total = total + (substring.charAt(i) - 48) * (int)Math.pow(16, j);

}
}

System.out.println(total);


}
}
}

直接转换进制的方法

//AAA转换为16进制
long aaa = Long.parseLong("AAA", 16);
System.out.println(aaa);

笔试算法《进制转换16转10》_算法


举报

相关推荐

0 条评论