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");
}