Loops 轻松while循环的运行时

Loops 轻松while循环的运行时,loops,runtime,Loops,Runtime,我有一个关于while循环运行时的简短问题。 我有给定的代码: Calculate(int n) i = n while(i > 0) i = i/2 如果n是2的幂,那么while循环执行的频率是多少。我正在复习我们在学期初做的一些事情,我知道这并不难,但我只是不知道答案如何。例如,如果n=1,循环将执行一次,如果n=2,则循环将执行2次,如果n=4,则循环将执行3次,依此类推,但我不确定如何从数学上对此进行表述。这方面的数学公式将使用: log2(n)+1提示

我有一个关于while循环运行时的简短问题。 我有给定的代码:

Calculate(int n)  
i = n  
while(i > 0)  
    i = i/2  

如果n是2的幂,那么while循环执行的频率是多少。我正在复习我们在学期初做的一些事情,我知道这并不难,但我只是不知道答案如何。例如,如果n=1,循环将执行一次,如果n=2,则循环将执行2次,如果n=4,则循环将执行3次,依此类推,但我不确定如何从数学上对此进行表述。

这方面的数学公式将使用:


log2(n)+1

提示:在每次迭代中,从该整数中切掉一位信息。需要多少位来表示您的初始数字?