I'm trying to convert a number in the binary system to the decimal system. I have added prints to monitor the variables. When I entered 10 as the number:
the sum before = 0.0
the sum after = 48.0
result of the power = 1
b=0
a=1
.
.
When I enter 101 as the number
sum = 0.0 before
result of the power = 1.0 power
sum = 49.0 after
b = 0
a = 2
.
sum = 49.0before
result of the power = 2.0
sum = 145.0 after
b = 1
a = 1
sum = 145.0
.
sum = 145.0 before
result of the power 4.0
sum = 341.0 after
b = 2
a = 0
sum = 341.0
import java.util.Scanner;
public class Binarium{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
System.out.println("What is the number?(Only up to ten digits)");
String number = scan.nextLine();
System.out.println("What is your conversion"); //d2b b2d
String convers = scan.nextLine();
scan.close();
char[] charnumber = number.toCharArray();
int intnumber = Integer.parseInt(number);
int a = charnumber.length -1 ;
double sum1 = 0;
int b = 0;
for (;a>0;a--){
System.out.println(sum1+"before");
sum1 = sum1+(charnumber[a]*Math.pow(2, b));
System.out.println(Math.pow(2, b)+"power");
System.out.println(sum1+"after");
System.out.println(b);
System.out.println(a);
b= b+1;
if(b==4){
b=0;
}
else;
}System.out.println(sum1);
}
}
What is the issue with the sums?