使用C++写一个十六进制转十进制的代码
时间: 2023-10-19 11:06:55 浏览: 50
以下是使用C语言编写的十六进制转十进制的代码:
```c
#include <stdio.h>
#include <math.h>
int main() {
char hex[17];
int i, len, dec = 0;
printf("请输入一个十六进制数:");
scanf("%s", hex);
len = strlen(hex);
// 从右往左遍历每一位,计算十进制值
for (i = len - 1; i >= 0; i--) {
if (hex[i] >= '0' && hex[i] <= '9') {
dec += (hex[i] - 48) * pow(16, len - i - 1);
} else if (hex[i] >= 'a' && hex[i] <= 'f') {
dec += (hex[i] - 87) * pow(16, len - i - 1);
} else if (hex[i] >= 'A' && hex[i] <= 'F') {
dec += (hex[i] - 55) * pow(16, len - i - 1);
} else {
printf("输入的十六进制数不合法。\n");
return 0;
}
}
printf("转换后的十进制数为:%d\n", dec);
return 0;
}
```
代码思路:
1. 定义一个字符数组 `hex` 来存储输入的十六进制数;
2. 通过 `scanf` 函数从键盘读取输入的十六进制数;
3. 计算输入十六进制数的长度 `len`;
4. 从右往左遍历每一位,通过判断字符的 ASCII 码值,将其转换为对应的十进制值,并加到 `dec` 变量中;
5. 输出转换后的十进制数 `dec`。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)
![](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)