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。