base
, другими словами Radix означает количество уникальных цифр в системе счисления.
В десятичном формате мы имеем от 0
до 9
, от 10 цифр допредставляют числа.
Вы используете 2
в качестве параметра, что означает Binary , поэтому работают только 0
и 1
.
Из Документа to_i :
Возвращает результат интерпретации начальных символов в str
как целочисленную базовую базу (от 2 до 36).Посторонние символы после конца действительного числа игнорируются.Если в начале str
нет действительного номера, возвращается 0
.Этот метод никогда не вызывает исключение, когда база действительна.
Вы можете использовать эти числовые представления непосредственно в Ruby:
num_hex = 0x100
#=> 256
num_bin = 0b100
#=> 4
num_oct = 0o100
#=> 64
num_dec = 0d100
#=> 100