十六进制字符串转换成十进制非负整数c语言写出来
时间: 2023-09-11 09:05:57 浏览: 129
JAVA二进制字节数组字符十六进制BCD编码转换.doc
5星 · 资源好评率100%
可以使用C语言中的标准库函数strtoul()来实现:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
char hex_str[] = "2A"; // 十六进制字符串
unsigned long dec_num = strtoul(hex_str, NULL, 16); // 转换成十进制数
printf("%lu", dec_num); // 输出结果
return 0;
}
```
其中,strtoul()函数的第一个参数是要转换的字符串,第二个参数是一个指向char *类型的指针,表示字符串中第一个非数字字符的位置,我们在这里设为NULL即可。第三个参数是指定要转换的进制,我们这里指定为16,表示十六进制。转换后的结果是一个无符号长整型数,可以用%lu格式符进行输出。
阅读全文