0
为什么以下for
-loop计算floor(log_2(m))
,而不是ceil(log_2(m))
(这是我所期望的)?了解for循环的日志迭代
for (int m = <some number>; m > 1; m /= 2) //<some number> is integer >= 0
cout << “Here\n”;
为什么以下for
-loop计算floor(log_2(m))
,而不是ceil(log_2(m))
(这是我所期望的)?了解for循环的日志迭代
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。