ගැහැණියක උදව් ඉල්ලූ තැන පිරිමියාගේ සංවේදීකම මොනවට පැහැදිලි වෙයි.....



Meka hari machan but isn't working for every base value right? E.g : base 5???

ඔව් මේක වැඩ කරන්නෙ පාදය 2,8,10,16 වලට මට මතක විදිහට :/


/**
*
* @param base the base digit e.g., 2
* @param value the value of @base e.g., 10111
* @return the decimal value e.g. 23 (16+0+4+2+1)
*/
public static int toDecimal(int base, int value){
int deci =0 ;
char[] valueArr= (""+value).toCharArray();
for(int i=0; i<valueArr.length; i++){
int digit = Integer.valueOf(""+ valueArr[valueArr.length-i-1]).intValue();
deci+= (digit * Math.pow(base, i));
}
return deci;
}
JAVAඅරහං මට. මම නූගත් ටොබයි පොන්නයෙක්. මම දන්නේ කුලී කොමෙන්ට් දාලා සාටකයකට පුක දීලා කීයක් හරි හොයාගන්න තමයි.
හැමදාම ඔයමගුලට කෙලවෙනවානේ
import java.util.Scanner;
public class GetDecimalNum {
public static int getDecimalNumber(int number, int base) {
int decimalNum = 0;
int power = 1;
while (number > 0) {
decimalNum += (number % 10) * power;
number /= 10;
power *= base;
}
return decimalNum;
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Input number: ");
int number = scanner.nextInt();
System.out.print("Input base: ");
int base = scanner.nextInt();
int decimalNum = getDecimalNumber(number, base);
System.out.println("Decimal Number: " + decimalNum);
scanner.close();
}
}