(C++)除基取余法:将十进制数转化为Q进制数
Posted CSU迦叶
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(C++)除基取余法:将十进制数转化为Q进制数相关的知识,希望对你有一定的参考价值。
所谓基,就是指将要转换成的进制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 = 100
int 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;
}
示例
以上是关于(C++)除基取余法:将十进制数转化为Q进制数的主要内容,如果未能解决你的问题,请参考以下文章