Ruby 2.2.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Integerクラス > []
self[nth] -> Integer
[permalink][rdoc]nth 番目のビット(最下位ビット(LSB)が 0 番目)が立っている時 1 を、そうでなければ 0 を返します。
a = 0b11001100101010
30.downto(0) {|n| print a[n] }
# => 0000000000000000011001100101010
a = 9**15
50.downto(0) {|n| print a[n] }
# => 000101110110100000111000011110010100111100010111001
n[i] は (n >> i) & 1 と等価なので、負のインデックスは常に 0 を返します。
p 255[-1] # => 0
self[nth]=bit (つまりビットの修正) がないのは、Numeric 関連クラスが immutable であるためです。