Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Bignumクラス > bit_length
bit_length -> Integer
[permalink][rdoc]self を表すのに必要なビット数を返します。
「必要なビット数」とは符号ビットを除く最上位ビットの位置の事を意味しま す。2**n の場合は n+1 になります。self にそのようなビットがない(0 や -1 である)場合は 0 を返します。
例: ceil(log2(int < 0 ? -int : int+1)) と同じ結果
(-2**10000-1).bit_length # => 10001 (-2**10000).bit_length # => 10000 (-2**10000+1).bit_length # => 10000 (-2**1000-1).bit_length # => 1001 (-2**1000).bit_length # => 1000 (-2**1000+1).bit_length # => 1000 (2**1000-1).bit_length # => 1000 (2**1000).bit_length # => 1001 (2**1000+1).bit_length # => 1001 (2**10000-1).bit_length # => 10000 (2**10000).bit_length # => 10001 (2**10000+1).bit_length # => 10001
[SEE_ALSO] Fixnum#bit_length