Я пытаюсь преобразовать число в двоичной системе в десятичную систему. Я добавил распечатки для мониторинга переменных. Когда я ввел 10 как число:
сумма до = 0.0
сумма после = 48.0
результат степени = 1
b =0
a = 1
.
.
Когда я ввожу 101 в качестве числа
сумма = 0,0 до
результат мощности = 1,0 мощность
сумма = 49,0 после
b = 0
a = 2
.
сумма = 49,0 до
результат степени = 2,0
сумма = 145,0 после
b = 1
a = 1
сумма = 145,0
.
сумма = 145,0 до
результат мощности 4,0
сумма = 341,0 после
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);
}
}
В чем проблема с суммами?