2个变量
int a = 10;
int b = 16;
我想把ab两个整型转化为十六进制,并且变成字符串且补齐0到四位,如10变成字符串000A,16变成0010
然后当字符串string c ="000A",我该如何再把它转化为整型10,查过好多资料的实在能力有限。
同学你好,你可以参考我的c改一改:
#include <stdio.h>
int const N = 4;
// 16进制转十进制
int hex2dec(char a[N]){
int i, s;
int q[N];
// 对应关系
for(i=0; i<N; i++){
if(a[i]<='9' && a[i]>='0')q[i]=a[i]-'0';
else if(a[i]<='F' && a[i]>='A') q[i]=a[i]-'A'+10;
else printf("Invalid hex input ! \n");
}
//下面这里是关键,也就是多项式求和的快捷方法
s = q[0];
for(i=1;i<N;i++){
s*=16;
s+=q[i];
}
return s;
}
void main(){
char a[N];
scanf("%s",a);
printf("%d",hex2dec(a));
}