Ruby 4.1 リファレンスマニュアル

instance method Integer#bit_count

bit_count -> IntegerRuby 4.1 から[permalink][rdoc][edit]

self を 2 進数で表したときに立っているビット(値が 1 のビット)の数を返します。

ポピュレーションカウント、あるいはハミング重みとも呼ばれます。

[RETURN]
立っているビットの数を返します。
[EXCEPTION] ArgumentError:
self が負の整数の場合に発生します。
p 0.bit_count           # => 0
p 1.bit_count           # => 1
p 7.bit_count           # => 3
p 0b10101.bit_count     # => 3
p 255.bit_count         # => 8
p (2**1000).bit_count   # => 1
p (2**1000-1).bit_count # => 1000

(-1).bit_count # ~> ArgumentError: bit_count is undefined for negative integers

[SEE_ALSO] Integer#bit_length