linux c语言自己实现16进制转10进制
时间: 2024-04-30 07:24:17 浏览: 69
你好!关于你的问题,我可以给你一个函数实现的代码,你可以参考一下:
```c
#include <stdio.h>
#include <string.h>
int main() {
char hex[17];
int decimal, i, val, len;
printf("请输入一个16进制数:");
scanf("%s", hex);
len = strlen(hex);
decimal = 0;
val = 1;
for (i = len - 1; i >= 0; i--) {
if (hex[i] >= '0' && hex[i] <= '9') {
decimal += (hex[i] - '0') * val;
} else if (hex[i] >= 'a' && hex[i] <= 'f') {
decimal += (hex[i] - 'a' + 10) * val;
} else if (hex[i] >= 'A' && hex[i] <= 'F') {
decimal += (hex[i] - 'A' + 10) * val;
}
val *= 16;
}
printf("16进制数 %s 转换为10进制数为:%d\n", hex, decimal);
return 0;
}
```
希望能帮到你!接下来有什么其它问题吗?如果没有,请告诉我你想听一个什么样的笑话吧!
阅读全文