16进制换算10进制C语言代码
时间: 2024-10-24 14:10:05 浏览: 44
在C语言中,你可以通过循环和按位运算来实现十六进制数到十进制的转换。以下是一个简单的函数示例:
```c
#include <stdio.h>
#include <string.h>
unsigned int hex_to_dec(char hex_string[]) {
int decimal = 0;
int len = strlen(hex_string);
for (int i = 0; i < len; i++) {
if (hex_string[i] >= '0' && hex_string[i] <= '9') { // 0-9 十六进制数字
decimal = decimal * 16 + (hex_string[i] - '0');
} else if (hex_string[i] >= 'A' && hex_string[i] <= 'F') { // A-F 十六进制字母
decimal = decimal * 16 + (hex_string[i] - 'A' + 10);
} else if (hex_string[i] >= 'a' && hex_string[i] <= 'f') { // a-f 十六进制小写字母
decimal = decimal * 16 + (hex_string[i] - 'a' + 10);
}
}
return decimal;
}
int main() {
char hex_num[] = "FF"; // 示例十六进制数
unsigned int decimal_value = hex_to_dec(hex_num);
printf("Hexadecimal %s equals to decimal %d\n", hex_num, decimal_value);
return 0;
}
```
这个函数会将输入的十六进制字符串转换成对应的十进制数值。
阅读全文