题解 | #进制转换#
进制转换
https://www.nowcoder.com/practice/8f3df50d2b9043208c5eed283d1d4da6
#include <iostream> #include <stack> #include <string> using namespace std; int main() { char c; stack<char> cStack; while (cin >> c) { cStack.push(c); } int index = 1; int res = 0; while (cStack.size() > 0 && c != 'x') { c = cStack.top(); if (c != 'x') { if (c >= 'A') res += (c - 'A' + 10) * index; else res += (c - '0') * index; } index *= 16; cStack.pop(); } cout << res; } // 64 位输出请用 printf("%lld")