Как вы пишете двоичный литерал в ruby?

Большинство языков (включая Ruby) позволяют записывать числовые литералы как минимум в трех системах счисления: десятичной, восьмеричной и шестнадцатеричной. Числа в десятичной системе счисления - это обычное дело и записываются так, как (большинство) людей естественно пишут числа, 96 записывается как 96. Числа с префиксом нуля обычно интерпретируются как восьмеричные: 96 будет записано как 0140. Шестнадцатеричные числа обычно имеют префикс 0x: 96 будет записано как 0x60.

Вопрос в том, могу ли я писать числа как двоичные литералы в Ruby? Как?


person Thiago Arrais    schedule 19.09.2008    source источник


Ответы (4)


использовать префикс 0b

>> 0b100
=> 4
person Purfideas    schedule 19.09.2008

и вы можете сделать:

>> easy_to_read_binary = 0b1110_0000_0000_0000
=> 57344
>> easy_to_read_binary.to_s(10)
=> "57344"
person Rob    schedule 12.08.2009

Для литералов префикс равен 0b. Так

0b100 #=> 4

Имейте в виду, что то же самое существует для форматирования строк:

"%b" % 4 #=> "100"
person webmat    schedule 19.09.2008

Из этого руководства

0b01011

двоичное целое

person Thelema    schedule 19.09.2008