Java:十六進位制轉換成十進位制
阿新 • • 發佈:2018-11-06
問題及程式碼:
/* *問題描述 從鍵盤輸入一個不超過8位的正的十六進位制數字符串,將它轉換為正的十進位制數後輸出。 注:十六進位制數中的10~15分別用大寫的英文字母A、B、C、D、E、F表示。 *樣例輸入 FFFF *樣例輸出 65535 */ import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); String hex_num = in.nextLine(); long dec_num = Long.parseLong(hex_num, 16); System.out.println(dec_num); } }
知識點總結:
Long.parseLong( , );
1、對字串引數的解析就是按照這個進位制標準進行轉化成10進位制的數值。
比如 :
System.out.println(Long.parseLong("473", 16));
System.out.println(Long.parseLong("473",10));
輸出為:
1139
473
說明16進位制的473轉換成十進位制就是1139,十進位制的473轉換成十進位制就是473
2、之所以使用long 是因為轉換成的十進位制數超出了int的範圍。