[原创]任意进制数的转换!
程序代码:
/*任意进制间的转换*/ #include<iostream> void convert(char* num, int x, int y,char *num2) { __int64 n;int i; char a[16];char *p=a; n=(*num>='A'?*num-'A'+10:*num-'0');num++; while (*num) { n=n*x+(*num>='A'?*num-'A'+10:*num-'0'); num++; } for (;n>y ; ) { i=n%y; *p++=(i<10?'0'+i:'A'+i-10); n=n/y; } *p=(n<10?'0'+n:'A'+n-10); while (p>=a) { *num2++=*p--; } *num2='\0'; return ; } int main() { char s[16];convert("AB",16,17,s); //将十六进制值“AB”转换成十七进制数(存放于S中) printf("%s\n",s); return 0; }
[ 本帖最后由 cnfarer 于 2010-5-2 14:49 编辑 ]