|
|
<<The C programming language>> has an Exercise.
Convert a String of hexademical digits into a Int.
#include <stdio.h>int hexaDecimalToDecimal(char s[]){if(s[0]!='0') return -1;if(s[1]!='X' && s[1]!='x') return -1;int i=2;int sum=0;while(s!='\0'){ if(s>='a' && s<='f') s=s-'a'+10;else if(s>='A' && s<='F') s=s-'A'+10;else if(s>='0' && s<='9') s=s-'0';sum=sum*16+s;i++;}return sum;}int main(){char s[]="0xb1A";printf("%s",s);printf(" 十进制为:%d\n",hexaDecimalToDecimal(s));printf("%d",0xb1a);}
|
|