[英]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.