用C语言写一个函数,可以将16进制数转换为10进制数
时间: 2024-05-02 11:20:08 浏览: 112
好的,这是一个可以将16进制数转换为10进制数的C语言函数:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int hexToDec(char* hex) {
int len = strlen(hex);
int dec = 0;
for (int i = 0; i < len; i++) {
int digit = hex[i];
if (digit >= '0' && digit <= '9') {
digit -= '0';
} else if (digit >= 'a' && digit <= 'f') {
digit -= 'a' - 10;
} else if (digit >= 'A' && digit <= 'F') {
digit -= 'A' - 10;
} else {
return -1; // 非法输入
}
dec = dec * 16 + digit;
}
return dec;
}
int main() {
char* hex = "1A";
int dec = hexToDec(hex);
printf("%s in hex is %d in decimal.\n", hex, dec);
return 0;
}
```
在这个例子中,我们将16进制数字符串作为函数的参数,然后使用循环和逻辑来将其转换为10进制数。该函数将16进制数转换为整数并返回结果。在主函数中,我们演示如何使用该函数来将“1A”转换为26的十进制数。
阅读全文