所谓基,就是指将要转换成的进制Q。
除基取余的意思就是:每次将待转换数除以Q,然后将得到的余数作为低位存储,而商则继续除以Q并重复上面的操作,直至商0时,将所有位从高到低输出就可以得到Q进制数。
代码实现如下
输入:十进制数x以及进制Q
输出:Q进制数y
#include<cstdio>int main(){int x,y[20]={0},Q; scanf("%d %d",&x,&Q);// 100 -> 8:100%8 = 4 100/8 = 12 12%8 = 4 12/8 = 1 1%8 = 1 144 = 1*64+4*8+4*1 = 100int idx = 0;do{y[idx++]=x%Q;x/=Q;}while(x!=0);for(int i=idx-1;i>=0;i--){printf("%d",y[i]);}return 0;}
示例