了解for循环的日志迭代

时间:2013-02-28 01:38:37

标签: c++

为什么以下for - 循环计算floor(log_2(m)),而不是ceil(log_2(m))(这是我预期的那样)?

for (int m = <some number>; m > 1; m /= 2) //<some number> is integer >= 0
    cout << “Here\n”;

1 个答案:

答案 0 :(得分:2)

例如,当3和2都是整数时,3/2为1,循环将终止而不考虑分数。所以你得到log_2(3)= 1。