用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - c代码库

c 任意进制转换

2012-08-28 作者: 神马举报

[c]代码库

/*语法:conversion(char s1[],char s2[],long d1,long d2);
 *参数:
 *s[]:	原进制数字,用字符串表示
 *s2[]:	转换结果,用字符串表示
 *d1:	原进制数
 *d2:	需要转换到的进制数
 *返回值:	null
 *注意:高于9的位数用大写'A'~'Z'表示,2~16位进制通过验证
 */

void conversion ( char s[],char s2[],long d1,long d2 )
{
	long i,j,t,num;
	char c;
	num=0;
	for ( i=0; s[i]!='\0'; i++ )
	{
		if ( s[i]<='9'&&s[i]>='0' ) t=s[i]-'0';
		else t=s[i]-'A'+10;
		num=num*d1+t;
	}
	i=0;
	while ( 1 )
	{
		t=num%d2;
		if ( t<=9 ) s2[i]=t+'0';
		else s2[i]=t+'A'-10;
		num/=d2;
		if ( num==0 ) break;
		i++;
	}
	for ( j=0; j<i/2; j++ )
		{c=s2[j]; s2[j]=s[i-j]; s2[i-j]=c;}
	s2[i+1]='\0';
}


网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...