怎么把16进制转10进制,C语言代码
时间: 2024-11-04 12:09:13 浏览: 14
C语言十进制转二进制代码实例
5星 · 资源好评率100%
将十六进制数转换为十进制数,在C语言中可以使用ASCII码表或者遍历每一位进行计算。这里是一个简单的示例,使用循环逐位相加的方式:
```c
#include <stdio.h>
#include <string.h>
// 十六进制转十进制的函数
int hex_to_decimal(char hex[]) {
int len = strlen(hex);
int decimal = 0;
int power = 0;
for (int i = len - 1; i >= 0; i--) {
if (hex[i] >= '0' && hex[i] <= '9') { // 0-9
decimal += (hex[i] - '0') * pow(16, power);
} else if (hex[i] >= 'A' && hex[i] <= 'F') { // A-F
decimal += (hex[i] - 'A' + 10) * pow(16, power);
} else if (hex[i] >= 'a' && hex[i] <= 'f') { // a-f
decimal += (hex[i] - 'a' + 10) * pow(16, power);
}
power++;
}
return decimal;
}
int main() {
char hex_number[] = "FF"; // 示例的十六进制数
int decimal_result = hex_to_decimal(hex_number);
printf("Hexadecimal number %s is equivalent to decimal: %d\n", hex_number, decimal_result);
return 0;
}
```
这个程序首先检查字符是否是数字(0-9),然后是大写的或小写的字母(A-F/a-f)。它通过乘以16的相应幂并将结果累加到总和上来处理每一位。
阅读全文