1. 程式人生 > >十六進位制轉十進位制

十六進位制轉十進位制

  package LQB;

import java.util.HashMap;

import java.util.Map;

import java.util.Scanner;

public class Basic11 {

    public static void main(String [] args){

     Scanner sc = new Scanner(System.in);

     String n = sc.next();

     Map<Character,Integer> map = new HashMap<Character, Integer>();

     for(int i = 0;i<10;i++){

     map.put((char)(48+i),i);

     }

     for(int i=0;i<7;i++){

     map.put((char)(65+i), 10+i);

     }

     long [] arr = {1,16,256,4096,65536,1048576,16777216,268435456};

     char [] arr2 = n.toCharArray();

     char [] arr3 = new char[arr2.length];

        for(int i=0;i<arr2.length;i++){

         arr3[i]=arr2[arr2.length-i-1];

        }

     long sum=0;

     for(int i =arr3.length-1;i>=0;i--){

     sum+=(arr[i]*map.get(arr3[i]));

     }

     System.out.println(sum);

    }

}