BASIC-11 16進法10進法
リソースの制限
時間制限:1.0 sメモリ制限:512.0 MB
問題の説明
キーボードから8桁以下の正の16進数文字列を入力し、正の10進数に変換して出力します.注:16進数の10~15は、それぞれ大文字のアルファベットA、B、C、D、E、Fで表されます.
サンプル入力
FFFF
サンプル出力
65535
Code
Javaソース:
時間制限:1.0 sメモリ制限:512.0 MB
問題の説明
キーボードから8桁以下の正の16進数文字列を入力し、正の10進数に変換して出力します.注:16進数の10~15は、それぞれ大文字のアルファベットA、B、C、D、E、Fで表されます.
サンプル入力
FFFF
サンプル出力
65535
Code
Javaソース:
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
String string=scan.nextLine();
char c[]=string.toCharArray();
long sum=0;
int n=c.length;
for(int i=0;i9){
if(c[i]=='A'){
sum+=10*Math.pow(16, n-i-1);
}else if(c[i]=='B'){
sum+=11*Math.pow(16, n-i-1);
}else if(c[i]=='C'){
sum+=12*Math.pow(16, n-i-1);
}else if(c[i]=='D'){
sum+=13*Math.pow(16, n-i-1);
}else if(c[i]=='E'){
sum+=14*Math.pow(16, n-i-1);
}else if(c[i]=='F'){
sum+=15*Math.pow(16, n-i-1);
}
}
else{
sum+=((int)c[i]-48)*Math.pow(16, n-i-1);
}
}
System.out.println(sum);
}
}