十进制转换【进制】

                                                      十进制转换

功能

将10进制的数转换成2-16进制中的一种

非递归实现

char a[N];

void convert(int n,int base)
{
	int i;
	i=0;
	while(n){
		a[i]=n%base;
		if(a[i]>=10)
		  a[i]='A'+a[i]-10;
		else
		  a[i]+='0';
		i++;
		n/=base;
	}
	i--;
	while(i>=0)
	  printf("%c",a[i--]);
	printf("\n");
 } 


递归实现

void convert(int n,int base)
{
	char digit;
	if(n){
		convert(n/base,base);
		digit=n%base;
		if(digit>=10)
		  digit='A'+digit-10;
		else
		  digit+='0';
		printf("%c",digit);
	}
 } 

说明:对于0进行单独处理即可

猜你喜欢

转载自blog.csdn.net/SongBai1997/article/details/85705744