首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将十进制转换为更高的基数,反之亦然

如何将十进制转换为更高的基数,反之亦然
EN

Stack Overflow用户
提问于 2015-02-20 06:04:53
回答 1查看 365关注 0票数 0

作为java CSC类的编程任务,我编写了以下代码,将数字及其基数转换为十进制数,然后转换为所需的数字和基数。

代码语言:javascript
复制
    public static int baseten(int number,int basein){
    int power = 0;
    int baseten = 0;
    while (number > 0) {
        int finalDigit = number % 10;
        int product = finalDigit*(int)Math.pow(basein, power);
        baseten += product;
        number = number / 10;
        power++;
    }
    return(baseten);
}
public static String convert (int decimal, int baseout){
    String result = "";
    while (decimal > 0){
        //if baseout
        int remainder = decimal % baseout;
        decimal = decimal / baseout;
        result = remainder + result;
    }
    return(result);
}

问题是如何在此代码中将数字转换为大于十的基数?我假设可能是一个char[],但我现在不太擅长数组,无法想象它会是什么样子。我认为我不能使用toString或parseInt的,任何帮助都将不胜感激。提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2015-02-20 06:36:56

你就快到了。您可以做的是插入一个if/else语句,以确定余数是否大于或等于10,并执行相应的操作。如果不是,就做你现在正在做的事情。如果是,则需要在字符串中添加一个字符。这个字符必须是(余数-10)+ 65,因为65在ascii表上是大写的A,你需要知道十个余数上面有多少位数字,然后加到A上。这可以简化为简单地加55,但在我看来可读性较差。然后,只需将该字符添加到字符串中,而不是添加int。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28617889

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档