(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;

}

示例
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CSU迦叶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值