Ниже кода рассчитывается сумма цифр 2 ^ 15 и рабочих. Если я изменю условие цикла на 15, d2 станет 2 ^ 16. -> Я хочу 2 ^ 15.
Затем я изменяю его на 999, сумма цифр не совпадает. (Сумма: 1189)
Есть ли другой способ сделать это?
public void go()
{
int sum = 0;
BigInteger d2 = BigInteger.ONE.add(BigInteger.ONE);
BigInteger two = d2;
for(int i = 0; i < 14; i++)
{
System.out.println(d2);
d2 = d2.multiply(two);
}
System.out.println("\n" + d2);
double val = d2.doubleValue();
double temp = val;
while(val > 0)
{
temp = val % 10;
val /= 10;
sum += temp;
System.out.println(temp);
}
System.out.println("Sum: " + sum);
}