zoukankan      html  css  js  c++  java
  • 8-十六进制转十进制

      

                基础练习 十六进制转十进制  
    时间限制:1.0s   内存限制:512.0MB
          
    问题描述
      从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。
      注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。
    样例输入
    FFFF
    样例输出
    65535

    注意:数据范围,中间的2的次方可能超过 int 

    import java.util.Scanner;
    
    public class Main {
    
    	public static void main(String[] args) {
    		Scanner cin = new Scanner(System.in);
    		String[] two = {
    				"0000", "0001", "0010", "0011",
    				"0100", "0101", "0110", "0111",
    				"1000", "1001", "1010", "1011",
    				"1100", "1101", "1110", "1111",
    				}; 	
    		
    		String str = cin.nextLine();
    		int len = str.length();
    		long ans = 0;
    		//转为二进制
    //		System.out.println(str + "str");
    		StringBuilder twostr = new StringBuilder();
    		for(int i = 0; i < len; i++) {
    			if(str.charAt(i) < 'A') {
    				twostr.append(two[str.charAt(i) - '0']);
    			}
    			else {
    				twostr.append(two[str.charAt(i) - 'A' + 10]);
    			}
    		}
    //		System.out.println(twostr);
    		//转为十进制
    		len = twostr.length();
    		long t = 1;
    		ans = 0;
    		for(int i = len - 1; i >= 0; i--) {
    			ans += (twostr.charAt(i) - '0') * t;
    			t = t * 2;
    		}
    		System.out.println(ans);
    	}
    }
    

      

  • 相关阅读:
    误差可视化小结
    快速排序算法
    解决堆损坏的一点心得
    合并两个有序数组
    nginx安装
    Spark官方3 ---------Spark Streaming编程指南(1.5.0)
    【译】Yarn上常驻Spark-Streaming程序调优
    【Kafka】操作命令
    【Kafka】
    Spark组件
  • 原文地址:https://www.cnblogs.com/zhumengdexiaobai/p/10344553.html
Copyright © 2011-2022 走看看