问题描述
从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。
注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。
注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。
样例输入
FFFF
样例输出
65535
代码:
#include <iostream> #include <cstdio> using namespace std; char s[9]; long long d; int main() { scanf("%s",s); for(int i = 0;s[i];i ++) { d = d * 16 + (isdigit(s[i]) ? s[i] - '0' : s[i] - 'A' + 10); } printf("%lld",d); }