Допустим, у меня есть целое число 98. Двоичное представление этой строки будет:рубин Преобразование целого числа в двоичном до целого массива установленных битов
(98).to_s(2) # 1100010
Теперь я хочу, чтобы преобразовать эту бинарную строку в целое число массив всех битов, которые установлены. Это дало бы мне:
[64,32,2]
Как бы я это сделал?
Обновление: Преобразование массива int в int необязательно должно включать String, это то, что я знал. Я предполагаю, что не строковые операции также будут быстрее.
Ruby удивительно, видя все эти различные способы справиться с этим!
Это будет не только работать, но и намного чище, чем идти через 'String', как и другие примеры. –
неопределенный метод 'bit_length» 98: Fixnum Я не на последней версии Ruby, так что это не похоже на работу Руби 2.0.0p353 – mahatmanich
@mahatmanich 'bit_length' был введен в Рубине 2.1 – Stefan