c语言16进制转10进制库函数
时间: 2023-10-08 11:13:40 浏览: 134
C语言16 转10进制
3星 · 编辑精心推荐
在C语言中,可以使用标准库函数`strtol`将一个字符串表示的16进制数转换为10进制数。该函数的原型如下:
```c
long int strtol(const char *str, char **endptr, int base);
```
其中,`str`参数为要转换的字符串,`endptr`参数为指向字符指针的指针,用于存储第一个无效字符的指针(如果有的话),`base`参数为要转换的数的基数,这里应该传入16。
下面是一个示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
int main()
{
char *hex = "1A";
char *endptr;
long int dec = strtol(hex, &endptr, 16);
if (*endptr != '\0') {
printf("Invalid hex number: %s\n", hex);
return 1;
}
printf("%s in hex is %ld in decimal\n", hex, dec);
return 0;
}
```
运行结果为:
```
1A in hex is 26 in decimal
```
阅读全文