正木です。

In [ruby-math:00948]

|原です。

|あと、やっぱり ilog2 の方が好きなんだよなあ。^^;

それで同意が得られるのなら、私もその方がいいです。
私自身は ilog2 も必要なので定義して使っています。


In [ruby-math:00950]

|0.bitlength == 0 というのも気になるなあ。

http://mathworld.wolfram.com/BitLength.html

でそうなっていたので、そのとおりにしています。
(ここに書いてある定義式は明らかに間違っていますが)
それ以降は n[i]==0 となる所までの bit 数という風に考えれば
それでいいのではないかと思います。

同じ page に log2 を lg と書いてありますが、この記法はどれ位
一般的な書き方ですか?

ついでに:
一般論ですが Fixnum と Bignum に別々に定義してあると自分で再定義
するときに面倒です。できればまとめて Integer に定義してもらえる
とありがたいのですが。