簡體   English   中英

如何將小數轉換為較高的基數,反之亦然

[英]How to convert decimal to a higher base and vice versa

作為我的Java CSC類的編程任務,我編寫了以下代碼,以將數字及其基數轉換為十進制數字,然后轉換為所需的數字和基數。

    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);
}

問題是如何在此代碼中將數字轉換為大於10的基數? 我假設可能是char [],但是我現在對數組不是很滿意,無法想象它會是什么樣子。 我認為我不能使用toString或parseInt。 任何幫助,將不勝感激。 提前致謝。

你快到了 您可以做的是插入一個if / else語句,以確定余數是否大於或等於10,然后采取相應措施。 如果不是,請立即執行您的操作。 如果是,則需要在字符串中添加一個字符。 該字符必須為(remainder-10)+ 65,因為65在ascii表上是大寫的A,並且您需要知道十位數以上是幾位數並將其添加到A。這可以簡化為簡單地添加55,但是我認為可讀性較差。 然后,只需將該char添加到字符串中,而不是添加int。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM