大数的M进制转换为N进制(M和N的取值范围为2~62)

本文介绍了如何将大数从M进制转换为N进制(2~62),通过求余数逆序拼接的方法实现。提供了一段代码示例,包括10进制转16进制和16进制转62进制的测试案例,并邀请读者提供优化建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

很久以前遇到的一个问题,今天找了一下解决方案:https://blog.youkuaiyun.com/SJF0115/article/details/8690581
感谢sjf0115的分享。

理清楚上述博客的思想后,自己写了一遍代码,以整理思路。
具体做法其实就是求余数,然后将余数逆序拼接就是。
这里写图片描述

下面代码解释如下;
1.进制的表示用0-9 A-Z a-z
2.循环求余数。每次循环从第一位开始。
具体过程如下如:终止条件为不存在大于0的商
这里写图片描述
结合图片的过程和代码应该就很好懂了。

代码如下:

import java.util.Scanner;

/**
 * Created by zfr on 2018/08/07.
 * 只考虑正数
 * 输入:一个M进制的字符串,将其转换为N进制的字符串
 * 字符串可能很长很长 - 大数的进制转换
 *
 */
public class MtoN {
   
    public static void main(String[] args) {
            // TODO Auto-generated method stub
        MtoN  a = new  MtoN ();
        Scanner scanner = new<
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值