c语言16进制转10进制
时间: 2023-08-24 22:13:44 浏览: 65
在 C 语言中,可以使用 `strtol` 函数将一个 16 进制字符串转换成相应的 10 进制数。下面是一个示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
char hex_str[] = "1A";
long decimal;
char *endptr;
decimal = strtol(hex_str, &endptr, 16);
printf("十六进制数 %s 转换为十进制数为:%ld\n", hex_str, decimal);
return 0;
}
```
在上面的代码中,我们将一个 16 进制字符串 `1A` 转换成相应的 10 进制数,使用了 `strtol` 函数,并且将第二个参数设置为 `&endptr`,这样函数会将转换后的字符串的下一个字符的地址赋值给 `endptr`,方便我们进行错误处理。转换结果为 `26`。
相关问题
C语言16进制转10进制
要将C语言中的16进制数转换为10进制数,你可以使用标准库函数`strtol()`。以下是一个示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
char hex_num[] = "1A"; // 16进制数
long dec_num;
dec_num = strtol(hex_num, NULL, 16);
printf("十六进制数 %s 转换为十进制数为 %ld\n", hex_num, dec_num);
return 0;
}
```
在上面的示例代码中,我们将字符串`"1A"`作为16进制数存储在`hex_num`数组中。然后,我们使用`strtol()`函数将其转换为长整型的10进制数。最后,我们使用`printf()`函数打印结果。
运行上述代码,将输出:
```
十六进制数 1A 转换为十进制数为 26
```
这里的`16`是`strtol()`函数的第三个参数,表示输入字符串是16进制数。如果你要转换其他进制的数,只需相应地更改基数值即可。
c语言16进制转换10进制
C语言中可以使用`strtol`函数将16进制字符串转换为10进制数字。示例代码如下:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
char hex_str[] = "1A";
long decimal = strtol(hex_str, NULL, 16);
printf("0x%s in decimal is %ld\n", hex_str, decimal);
return 0;
}
```
输出为:
```
0x1A in decimal is 26
```