我试图在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 ..有谁知道正确的方法是这样做的? 谢谢!
答案 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);
}