c++十六进制转换十进制
时间: 2023-09-11 16:03:39 浏览: 63
要将一个不超过8位的十六进制字符串转换为十进制,可以按照以下思路进行计算。首先,从字符串的第一位开始计算,如果是数字1-9,则将其减去字符'0'得到对应的十进制数,并将其保存到结果中。如果是字母A-F(a-f),则将其减去字符'A'(或'a'),再加上10,得到对应的十进制数,并保存到结果中。如果不是个位数,则乘以16。下面是一个示例代码:
```c++
#include <bits/stdc++.h>
using namespace std;
int main(void) {
string s;
cin >> s;
int n = s.length();
long long num = 0;
for (int i = 0; i < n; i++) {
if (s[i >= '0' && s[i <= '9') {
num = (s[i - '0');
} else if (s[i >= 'a' && s[i <= 'f') {
num = (s[i - 'a' + 10);
} else if (s[i >= 'A' && s[i <= 'F') {
num = (s[i - 'A' + 10);
}
if (i < n - 1) {
num *= 16;
}
}
cout << num;
}
```
注意:以上代码是用C++编写的,针对64位的Windows 10进行配置和编译时使用的是MinGW-64版本。该代码的内存限制为512.0MB,时间限制为1.0s。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [[C++]简单的十六进制转十进制](https://blog.csdn.net/DCJSPCHIPS/article/details/123441037)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *2* [mingw64下载最新版本window10 64位配置vscode C++编译说明文档](https://download.csdn.net/download/tgh5330992/88215791)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *3* [C++十六进制转十进制](https://blog.csdn.net/m0_63656729/article/details/129594650)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
[ .reference_list ]