c++ 16进制相加代码
时间: 2023-07-09 07:11:35 浏览: 249
以下是 C++ 中两个十六进制数相加的代码示例:
```c++
#include<iostream>
#include<cstring>
using namespace std;
// 将十六进制字符转换为对应的十进制数值
int hexToDec(char c){
if(c >= '0' && c <= '9') return c - '0';
if(c >= 'A' && c <= 'F') return c - 'A' + 10;
if(c >= 'a' && c <= 'f') return c - 'a' + 10;
return -1;
}
// 将十六进制字符串转换为对应的十进制数值
int hexStrToDec(string str){
int res = 0;
for(int i = 0; i < str.size(); i++){
res = res * 16 + hexToDec(str[i]);
}
return res;
}
// 将十进制数值转换为对应的十六进制字符
char decToHex(int x){
if(x >= 0 && x <= 9) return x + '0';
if(x >= 10 && x <= 15) return x - 10 + 'A';
return ' ';
}
// 将十进制数值转换为对应的十六进制字符串
string decToHexStr(int x){
string res = "";
while(x){
res = decToHex(x % 16) + res;
x /= 16;
}
if(res == "") res = "0";
return res;
}
// 十六进制数相加
string hexAdd(string a, string b){
// 将十六进制字符串转换为对应的十进制数值
int A = hexStrToDec(a);
int B = hexStrToDec(b);
// 十六进制数相加
int C = A + B;
// 将十进制数值转换为对应的十六进制字符串
return decToHexStr(C);
}
int main(){
string a, b;
cin >> a >> b;
cout << hexAdd(a, b) << endl;
return 0;
}
```
该代码中实现了两个功能函数:`hexAdd` 函数用于计算两个十六进制数的和,`hexStrToDec` 函数用于将十六进制字符串转换为对应的十进制数值。同时还实现了两个辅助函数:`hexToDec` 函数用于将单个十六进制字符转换为对应的十进制数值,`decToHexStr` 函数用于将十进制数值转换为对应的十六进制字符串。
阅读全文
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)