十六进制转十进制

mac2024-07-31  57

Description

输入一个以回车符结束的字符串(少于80个字符),过滤去所有的非十进制字符后(不区分大小写),组成一个新字符串(十六进制形式),然后将其转换为十进制数后输出。

Input

多组测试数据,每组输入一个以回车结束的字符串(少于80个字符)。

Output

转换后的十进制数

Sample Input

ABXYZ12 EF8GH4I

Sample Output

43794 61316

代码实现

#include<iostream> #include<cstdio> using namespace std; int main(void) { char str[100]; int sum,i; while(gets(str)) { sum=0;i=0; while(str[i]) { if(str[i]>='a' && str[i]<='f') str[i]-=32; if(str[i]>='0' && str[i]<='9') sum=sum*16+str[i]-'0'; if (str[i]>='A' && str[i]<='F') sum=sum*16+str[i]-'A'+10; i++; } cout<<sum<<endl; } return 0; }
最新回复(0)