高精度进制转换

本文介绍了高精度大数进制转换的方法,针对数百、数千位的大数,传统模取余方法不再适用。文章提出了一种通用算法,通过逐位除法和递归操作实现转换。同时,提供了1到62进制转换的C/C++代码示例,包括字符与整数之间的相互转换。
摘要由CSDN通过智能技术生成

高精度进制转换:

       对于普通的不是很大的数的相互转换,我们一般采用不断模取余的方法,例如:将10进制数m转换成n进制数,则对m模n取余即可。但是,如果是一个有几百、几千或者更多位的大数呢?显然这种模取余的方法不再适用了。那如何求解此类大数的转换呢?接下来,介绍一种通用方法。

        我们将一个大数的每一位看做是一个单独的数,但是却不是完全孤立的,与其它位置上的数有关联,从该数的最高位开始,对该位上的数除以要转换的进制基数,得到商和余数,商取代原来该位上的数,进行下一位的相同操作,但是注意下一位的除数不仅仅是该位的数,而是前一次的余数乘以大数的进制基数加上该位的数,如此循环,到所以位都除过一次,记录最后一位操作得到的余数,然后将上次的商作为除数,继续上次的操作,直到商为零。逆序输出每次记录的余数,即是要求的数。








接下来提供一些函数,仅供参考:(以下函数是1到62进制的相互转换,其中定义0=0,1=1,……,9=9,A=10,B=11,……Y=34&#x

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值