intをbinaryに変換してから、binaryに対してビット演算を実行しようとしています。
私の現在の方法は、intを取り、それを呼び出すto_s(2)
ことですが、その後、バイナリ文字列が残ります。
私が何をすべきかについて何かアドバイスはありますか?
intをbinaryに変換してから、binaryに対してビット演算を実行しようとしています。
私の現在の方法は、intを取り、それを呼び出すto_s(2)
ことですが、その後、バイナリ文字列が残ります。
私が何をすべきかについて何かアドバイスはありますか?
単純な整数は、ほぼすべての主要なプログラミング言語(Rubyを含む)でバイナリとして格納されます。したがって、整数自体に対してビット演算を実行できます。
>> 6 | 5 # bitwise or
=> 7
>> 6 & 5 # bitwise and
=> 4
>> 6 ^ 5 # bitwise xor
=> 3
>> 6 >> 2 # right shift
=> 1
>> 6 << 2 # left shift
=> 24
(編集:これは私の1000番目の答えのようです。)
the_number.to_s(2).split('').map { |x| x.to_i }
#数値をバイナリ配列に変換します