У меня проблема с математикой для цикла; добавив полномочия двух - PullRequest
0 голосов
/ 11 апреля 2019

Я хочу добавить степени двойки, начиная с 128 и заканчивая до 1. Добавление происходит нажатием кнопки, а при первом нажатии (1) я хочу вывести 128. Когда ононажата второй раз (2), я хочу вывести 128 + 64 = 192, и так далее, и так далее.Мое математическое применение неверно, или, может быть, что-то не так?Заранее спасибо!

Все, что я пробовал, сводится к тому, чтобы иметь два цикла for, один внутри другого, с внутренним циклом, генерирующим степень двух, и внешним, добавляющим их.

int j, k;        //for-loop counters
int base = 2;    //number to exponentialize 
int d = 0, x = 1;  //output, and exponent helper respectively

for(j=buttonpresses; j>0; j--){            

   for(k=0; k<8-buttonpresses; k++){       

      x = x*base;                  

   }

   d = d + x;
   x = 1;
}

printf("%d", d);

Я ожидаю, что выход будет 128, затем 192, затем 224 и так далее.Я никогда не получаю это, но переменный вывод материала, в зависимости от мелочи, которую я изменяю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...