2008-09-19 2 views
19

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

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

ответ

9

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

0b100 #=> 4 

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

"%b" % 4 #=> "100" 
11

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

>> easy_to_read_binary = 0b1110_0000_0000_0000 
=> 57344 
>> easy_to_read_binary.to_s(10) 
=> "57344"