C语言最简单的十六进制转十进制函数
时间: 2023-11-14 22:07:01 浏览: 93
最简单的16进制转10进制例程
以下是一个简单的 C 语言函数,可以将十六进制数转换为十进制数:
```c
#include <stdio.h>
#include <string.h>
#include <math.h>
int hexToDec(char hex[]) {
int len = strlen(hex);
int base = 1;
int dec = 0;
int i;
for (i = len - 1; i >= 0; i--) {
if (hex[i] >= '0' && hex[i] <= '9') {
dec += (hex[i] - 48) * base;
base *= 16;
}
else if (hex[i] >= 'a' && hex[i] <= 'f') {
dec += (hex[i] - 87) * base;
base *= 16;
}
else if (hex[i] >= 'A' && hex[i] <= 'F') {
dec += (hex[i] - 55) * base;
base *= 16;
}
}
return dec;
}
int main() {
char hex[] = "1A";
int dec = hexToDec(hex);
printf("Hexadecimal number %s in decimal is %d\n", hex, dec);
return 0;
}
```
该函数将字符串类型的十六进制数作为参数传入,然后将其转换为十进制数并返回。函数中使用了循环和条件语句来逐位计算十六进制数的值。
阅读全文