instance method Integer#[]

self[nth] -> Integer[permalink][rdoc][edit]

nth 番目のビット(最下位ビット(LSB)が 0 番目)が立っている時 1 を、そうでなければ 0 を返します。

[PARAM] nth:
何ビット目を指すかの数値
[RETURN]
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 であるためです。