为什么下面的 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”;
最佳答案
例如,当 3 和 2 均为整数时,3/2 为 1,因此循环将终止而不考虑分数。所以你得到 log_2(3) = 1。
关于c++ - 了解 for 循环的对数迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15125964/