C语言实现16进制字符串转换为十进制数
以下是将16进制字符串转换为十进制数的C语言代码:
#include <stdio.h>
#include <string.h>
int hexToDec(char hex[]) {
int dec = 0;
int len = strlen(hex);
int base = 1;
for(int i = len - 1; i >= 0; i--) {
if (hex[i] >= '0' && hex[i] <= '9') {
dec += (hex[i] - '0') * base;
}
else if (hex[i] >= 'A' && hex[i] <= 'F') {
dec += (hex[i] - 'A' + 10) * base;
}
else if (hex[i] >= 'a' && hex[i] <= 'f') {
dec += (hex[i] - 'a' + 10) * base;
}
base *= 16;
}
return dec;
}
int main() {
char hex[100];
printf("请输入16进制数:");
scanf("%s", hex);
int dec = hexToDec(hex);
printf("转换为十进制数为:%d\n", dec);
return 0;
}
在这个代码中,我们首先定义了一个函数 hexToDec,它接受一个16进制字符串作为参数,并返回对应的十进制数。在函数中,我们使用循环将字符串从右往左遍历,并根据字符的值计算出对应的十进制数。最后,我们在 main 函数中获取用户输入的16进制字符串,并调用 hexToDec 函数将其转换为十进制数,然后将结果输出。
原文地址: https://www.cveoy.top/t/topic/pim7 著作权归作者所有。请勿转载和采集!