0

为什么下面的for-loop 计算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”;
4

1 回答 1

2

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

于 2013-02-28T01:42:01.973 回答