[笔记] 十进制转n进制

思路

n对 xa取模,就是xa-1 位上的数字,因为模出来的数不足xa
举例来说就是5&21=1,这个1就是20位上的1
当前位取完后,n/=xa,表示n将对x(a+1)进行取模(进入下一位)
重复此操作直至n=0。

为啥是从低位开始取模呢?
直观解释:对于取模后留在第a位的n,你连第a位的xa-1都凑不齐,还想凑齐第a+1位的xa,进到第a+1位去吗?

代码实现


//把n转换为x进制下的数 
int turn(int n, int x) {
	//a1代表当前是对对应x进制的第几位进行操作
	int ans = 0, a1 = 1;
	while(n) {
		ans += (n % x) * a1;
		n /= x; 
		//要进位咯 
		a1 *= 10;
	}
	return ans;
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值