В основном методе, когда я пытаюсь передать двоичное число как Integer
самый старший бит, когда 1
дает желаемый результат. Но когда я изменяю его на 0
, это дает неожиданные результаты. Как средство, я должен преобразовать string
в integer
и затем передать его.
public class BinaryToDecimal {
static int BinaryNum(int n, int p){
if(n==0){
return 0;
}
else{
return (int)((n%10)*(Math.pow(2, p))+BinaryNum(n/10,p+1));
}
}
public static void main(String[] args) {
System.out.println(BinaryNum(Integer.parseInt("001010"), 0));
}
}