题解 | #进制转换#
进制转换
https://www.nowcoder.com/practice/8f3df50d2b9043208c5eed283d1d4da6
#include <stdio.h> int main() { char str[10]; int i = 0; int value = 0; int sum = 0; char ch = getchar(); while (ch != '\n') { str[i++] = ch; ch = getchar(); } for (int j = 0; j < i-2; j++) { if (str[i-1-j] >= '0' && str[i-1-j] <= '9') { value = ((str[i-1-j]-'0')& 0xF)<< (j*4); }else if (str[i-1-j] >= 'A' && str[i-1-j] <= 'F') { value = ((str[i-1-j]-'A' + 10)& 0xF) << (j*4); } sum += value; } printf("%d", sum); return 0; }