lib/backports/2.1.0/fixnum/bit_length.rb



unless Integer.method_defined?(:bit_length) || Fixnum.method_defined?(:bit_length)
  require 'backports/2.0.0/range/bsearch'
  class Fixnum
    def bit_length
      n = if self >= 0
        self + 1
      else
        -self
      end
      (0...8 * size).bsearch{|i| n <= (1 << i) }
    end
  end
end