循环增量在c

时间:2013-04-04 11:41:46

标签: c for-loop while-loop increment nested-loops

我试图在while循环中使我的“步数”或增量,使得我的值类似于N = 2,4,8,16 ......基本上是2到2 ^ 20的幂。我试过了

for(j=1;j<=20;j++){
    m=pow(2,2*i); 
    MAX=pow(2,20); 
    INC=pow(2,i);
while(m<=MAX){

然后让我的代码在这里运行。但在输出中它给了我2,4,6,8,10,12 ..有谁知道正确的方法是这样做的? 谢谢!

2 个答案:

答案 0 :(得分:3)

您可以从m的值2开始,并在每次迭代时将m乘以2。作为优化,您可以使用左移替换乘法:

int MAX = pow(2, 20); 
int m = 2;
while(m <= MAX) {
    //do your work
    m <<= 1;
}

答案 1 :(得分:2)

在while循环的每次迭代中;将你的变量乘以2。

int m = 2;
while(m < maxpow)
{
  m = m * 2;
  printf("%d\n", m);
}