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 に答える