|
发表于 2022-6-17 22:32:11
|
显示全部楼层
题目应该是要求自行写函数转换吧?- #include <iostream>
- #include <algorithm>
- #include <cmath>
- #include <vector>
- #include <map>
- using std::string, std::map, std::reverse, std::vector;
- string convert(string prev, int from, int to) {
- reverse(prev.begin(), prev.end());
- string dict = "0123456789ABCDEF", result = "";
- int n = 0, res = 0;
- map<char, int> nums;
- for (int i = 0; i < 16; ++i) nums[dict[i]] = i;
- for (const char& c : prev) {
- res += pow(from, n) * nums[c];
- n++;
- }
- vector<char> ans(dict.begin(), dict.end());
- while (res) {
- n = res % to;
- result += ans[n];
- res /= to;
- }
- reverse(result.begin(), result.end());
- return result;
- }
- using std::cout, std::endl;
- int main(void) {
- string nums = "4D2";
- cout << convert(nums, 16, 2);
- }
复制代码 |
评分
-
查看全部评分
|