题解 | #进制转换#
https://www.nowcoder.com/practice/8f3df50d2b9043208c5eed283d1d4da6
#include <stdio.h>
//麻了麻了,对于一个写嵌入式的程序员太难了,C库函数我一个也不记得
char char2dec(char c) {
if((c >= 'A') && (c <= 'F')) {
return c - 'A' + 10;
}
if((c >= 'a') && (c <= 'F')) {
return c - 'a' + 10;
}
if((c >= '0') && (c <= '9')) {
return c - '0' + 0;
}
return 0;
}
int power(unsigned int a, unsigned int b) {
int i = 0;
int v = 1;
if(b <= 0) {
return 1;
}
for (i = 0; i < b; i++) {
v *= a;
}
return v;
}
int main(void)
{
int i = 0;
int len = 0;
char arr[108] = "\0";
int num = 0;
int ch = 0;
fgets(arr, sizeof(arr), stdin);
//0xAA\n
len = strlen(arr) - 3;
for (i = 0; i < len; i++) {
ch = char2dec(arr[strlen(arr) - 2 - i]);
num += ch * power(16, i);
}
printf("%d", num);
return 0;
}
小天才公司福利 1163人发布