C语言十六进制字符串转十进制整数
#include<stdio.h> #include<string.h>
int main() { char input[80]; static char hex_string[80]; int decimal = 0; int power = 1; int s=0; char str[3];
printf("Enter a string:");
gets(input);
int i, j;
for (i = 0; i < strlen(input); i++) {
if((input[i] <= '9' && input[i] >= '0') || (input[i] >= 'a' && input[i] <= 'g') || (input[i] >= 'A' && input[i] <= 'G')){
hex_string[i] = input[i];
} else {
break;
}
}
printf("New string:");
for(i=0;i<strlen(hex_string);i++)
{
if(hex_string[i] <= '9' && hex_string[i] >= '0')
s = s * 16 + hex_string[i] - '0';
else if(hex_string[i] >= 'a' && hex_string[i] <= 'g')
s = s * 16 + hex_string[i] - 'a' + 10;
else if(hex_string[i] >= 'A' && hex_string[i] <= 'G')
s = s * 16 + hex_string[i] - 'A' + 10;
printf("%c",hex_string[i]);
}
printf("\nnumber=%d",s);
return 0;
}
原文地址: https://www.cveoy.top/t/topic/pkNF 著作权归作者所有。请勿转载和采集!