十进制转换为其他进制

10进制转换成其他进制

/将十进制的数转换为任意进制/
/辗转相除法
34--------转换成二进制:
34 %2
商 余数
/
// 17 0
/* 8 1
4 0
2 0
1 0
0 1
所得二进制为:100010
*/

#include<stdio.h>
int main()
{   
    int num;//要转换的数 
	int m;//要转换而成的进制 
	int tmp; 
	int a[32];//用于存取余数 
	int cnt=0;//用于记录二进制的位数 
	printf("请输入要转换的数:\n");
	scanf("%d",&num); 
	printf("请输入你要转换的进制: \n");
	scanf("%d",&m);
	tmp=num;
	while(tmp)
	{   
		//num=num%m;
		a[cnt]=tmp%m;//把余数储存给数组 tmp数没有发生改变  0 1 0001
		tmp=tmp/m;//tmp被重新赋值 
		cnt++; 
		
	}
	
	printf("%d转换成%d进制的结果是:\n",num,m);
	
	for(int i=0;i<cnt;i++)
	{
		printf("%d",a[cnt-i-1]);
	}
	printf("\n"); 
 } 

猜你喜欢

转载自blog.csdn.net/weixin_38336546/article/details/82944292