c语言16进制转10进制函数
时间: 2024-01-13 20:48:57 浏览: 30
您好,可以使用C语言中的strtol函数将16进制字符串转换为10进制数。函数原型如下:
```c
long strtol(const char *str, char **endptr, int base);
```
其中,str表示16进制字符串,endptr用于指向未转换的部分,base为进制数,这里设为16。
例如,将字符串"1A"转换为10进制数:
```c
char *str = "1A";
char *ptr;
long decimal = strtol(str, &ptr, 16);
printf("%ld", decimal); // 输出结果为26
```
希望对您有所帮助。
相关问题
C语言 16进制转10进制函数
下面是一个将 16 进制字符串转换为 10 进制整数的 C 语言函数:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
int hexToDec(char hex[]) {
int len = strlen(hex);
int base = 1;
int dec = 0;
for (int i = len - 1; i >= 0; i--) {
if (hex[i] >= '0' && hex[i] <= '9') {
dec += (hex[i] - 48) * base;
base = base * 16;
} else if (hex[i] >= 'A' && hex[i] <= 'F') {
dec += (hex[i] - 55) * base;
base = base * 16;
} else if (hex[i] >= 'a' && hex[i] <= 'f') {
dec += (hex[i] - 87) * base;
base = base * 16;
}
}
return dec;
}
int main() {
char hex[] = "1A";
printf("%s in decimal = %d\n", hex, hexToDec(hex));
return 0;
}
```
该函数将输入的 16 进制字符串转换为 10 进制整数。函数首先计算输入字符串的长度,然后从字符串的最后一个字符开始遍历,并根据字符是数字还是字母计算其对应的数值。最后,将所有字符对应的数值相加,得到最终的 10 进制整数。
C语言16进制转换为10进制函数
以下是一个将C语言中的16进制字符串转换为10进制整数的函数:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
int hexToDec(char* hexStr) {
int len = strlen(hexStr);
int dec = 0;
for(int i = 0; i < len; i++) {
char c = hexStr[i];
if(isdigit(c)) {
dec = dec * 16 + (c - '0');
} else {
c = toupper(c);
dec = dec * 16 + (c - 'A' + 10);
}
}
return dec;
}
```
这个函数通过遍历16进制字符串的每个字符,将其转换为10进制数。如果字符是数字,则直接将其转换为整数值,并将其乘以16的幂次方加到结果中。否则,字符是字母,则将其转换为十进制数(例如,A是10,B是11,等等),并将其乘以16的幂次方加到结果中。
注意,这个函数假设输入的16进制字符串是有效的,并且没有前导零。如果你需要处理无效的输入,你可以在函数中添加一些错误处理代码,例如检查字符串长度是否为零,检查字符是否在有效范围内,等等。
相关推荐
![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_column_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)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)