进制转换
首先讲下什么是进制
比如二进制
2变成二进制就是10,也就是2^1
4变成二进制就是100,也就是2^2
如上图所示
比如9变成1001,就是
9%2=1,9/2=4,所以最后一位是1,
4%2=0,4/2=2,所以倒数第二位是0
2%2=0,2/2=1,所以倒数第三位是0
1%2=1,1/2=0,所以倒数第四位,也就是第一位是1
由于除尽了,也就是最后变成了0,则答案是1001
至于转化成十几进制,如果某位是10,则用A表示,11用B
附代码
#include<stdio.h>
const int N=50;
char ch[N];
int main(){
int x,y,a;
int n=0;
scanf("%d%d",&x,&y);
do
{
a=x%y;
x=x/y;
if(a>9)ch[n]='A'+a-10;
else ch[n]='0'+a;
n++;
}while (x>0);
for(int i=n-1;i>=0;i--)
{
printf("%c ",ch[i]);
}
printf("\n");
return 0;
}