ブルーブリッジカップ基礎練習16進数回転10進数(水題、進数変換)
4541 ワード
基礎練習16進数から10進数へ
時間制限:1.0 sメモリ制限:512.0 MB
問題の説明
キーボードから8桁以下の正の16進数文字列を入力し、正の10進数に変換して出力します.
注:16進数の10~15は、それぞれ大文字のアルファベットA、B、C、D、E、Fで表されます.
サンプル入力
FFFF
サンプル出力
65535
Freecode : www.cnblogs.com/yym2013
時間制限:1.0 sメモリ制限:512.0 MB
問題の説明
キーボードから8桁以下の正の16進数文字列を入力し、正の10進数に変換して出力します.
注:16進数の10~15は、それぞれ大文字のアルファベットA、B、C、D、E、Fで表されます.
サンプル入力
FFFF
サンプル出力
65535
1 #include
2 using namespace std;
3 int main()
4 {
5 char hex_num[9];
6 cin>>hex_num;
7 int l; //
8 long long dnum=0;
9 for(l=0;hex_num[l]!='\0';l++);
10 for(int i=l-1;i>=0;i--){ //
11 int num;
12 long long weights=1; //
13 if('0'<=hex_num[i] && hex_num[i]<='9')
14 num=hex_num[i]-'0';
15 else if('A'<=hex_num[i] && hex_num[i]<='F')
16 num=hex_num[i]-'A'+10;
17 for(int j=l-i;j>1;j--)
18 weights*=16;
19 dnum+=num*weights;
20 }
21 cout<endl;
22 return 0;
23 }
Freecode : www.cnblogs.com/yym2013