题解 | #进制转换#
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; }