蓝桥杯基础练习 十六进制转十进制
2018-03-27 08:56
405 查看
基础练习 十六进制转十进制 时间限制:1.0s 内存限制:512.0MB 问题描述 从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。
注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。样例输入FFFF样例输出65535可以用java自带的进制转换函数,当然最好还是自己编写代码实现一下进制转换。要注意的是给定的字符串最多为8位,所以能表示的十进制数最大为2^32,java中要用long存储,c++要用long long 或者unsigned int存储。
java代码:import java.util.*;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input=new Scanner(System.in);
String s=input.next();
//java自带的进制转换函数
// System.out.println(Long.valueOf(s, 16));
long k=0;
HashMap<Character, Integer>map=new HashMap<>();//存储16进制字符到10进制数的转换
for(char i='0';i<='9';++i)
map.put(i, i-'0');
for(char i='A';i<='F';++i)
map.put(i, i-'A'+10);
//将字符串转换为10进制数
for(int i=0;i<s.length();++i)
k=k*16+map.get(s.charAt(i));
System.out.println(k);//输出
}
}
注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。样例输入FFFF样例输出65535可以用java自带的进制转换函数,当然最好还是自己编写代码实现一下进制转换。要注意的是给定的字符串最多为8位,所以能表示的十进制数最大为2^32,java中要用long存储,c++要用long long 或者unsigned int存储。
java代码:import java.util.*;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input=new Scanner(System.in);
String s=input.next();
//java自带的进制转换函数
// System.out.println(Long.valueOf(s, 16));
long k=0;
HashMap<Character, Integer>map=new HashMap<>();//存储16进制字符到10进制数的转换
for(char i='0';i<='9';++i)
map.put(i, i-'0');
for(char i='A';i<='F';++i)
map.put(i, i-'A'+10);
//将字符串转换为10进制数
for(int i=0;i<s.length();++i)
k=k*16+map.get(s.charAt(i));
System.out.println(k);//输出
}
}
相关文章推荐
- 蓝桥杯练习-基础练习-十六进制转十进制
- 蓝桥杯【基础练习】十六进制转十进制
- 蓝桥杯 基础练习 十六进制转十进制
- 蓝桥杯练习系统基础练习——十六进制转十进制
- 蓝桥杯——基础练习 十六进制转十进制
- 蓝桥杯练习系统——基础练习 十六进制转十进制
- 蓝桥杯 基础练习 十六进制转十进制
- 蓝桥杯 BASIC-11 基础练习 十六进制转十进制
- 【蓝桥杯】基础练习 十六进制转十进制
- 蓝桥杯- 基础练习 十六进制转十进制
- 蓝桥杯:基础练习 十六进制转十进制
- 蓝桥杯 基础练习 十六进制转十进制 java
- 蓝桥杯 BASIC-11 基础练习 十六进制转十进制
- 蓝桥杯 基础练习 十六进制转十进制
- 蓝桥杯 基础练习 十六进制转十进制
- 蓝桥杯之基础练习 十六进制转十进制
- 蓝桥杯试题集 基础练习 十六进制转十进制
- 蓝桥杯-基础练习-十六进制转十进制
- "蓝桥杯“基础练习: 十六进制转十进制
- 蓝桥杯基础练习十六进制转十进制