Я хочу использовать побитовый оператор "&" с такой строкой:
raw_counter_int = raw_counter.to_i
raw_counter_bin = raw_counter_int.to_s(2)
u = (2**62 + 2**63)
k = u.to_s(2)
r = raw_counter_bin & k
@counter_msg = r
но когда я запускаю свое приложение, у меня появляется это сообщение об ошибке:
undefined method `&' for "10000000000000000000000000000000000000000000000000000000":String
Как я могу использовать этот оператор «&» с raw_counter_int и u, которые преобразуются в двоичные файлы?
Я пытаюсь с этим: 0000 0000 1000 0000 0000 0000 0000 0000 (64 бита) взять байты между третьим байтом и 10-м байтом. Итак, я хочу сделать побитовое «&» с 0000 0000 1000 0000 0000 0000 0000 0000 и 0011 1111 1100 0000 0000 0000 0000 0000, чтобы взять только это: 00 0000 10
raw_counter_int.to_s(2)
Я думаю. - person Arup Rakshit   schedule 25.03.2014&
работает с числами, а не со строками. Это уже целое число, просто используйте&
. - person Dave Newton   schedule 25.03.2014(12345678987654321 & 98765432123456789).to_s(2)
работает.. Но, например,123434 & (2**62 + 2**63).to_s(2)
не работает. - person Arup Rakshit   schedule 25.03.2014