How to convert a string or integer to binary in Ruby?

mcmaloney picture mcmaloney · Feb 26, 2010 · Viewed 122.9k times · Source

How do you create integers 0..9 and math operators + - * / in to binary strings. For example:

 0 = 0000,
 1 = 0001, 
 ...
 9 = 1001

Is there a way to do this with Ruby 1.8.6 without using a library?

Answer

Mike Woodhouse picture Mike Woodhouse · Feb 26, 2010

You have Integer#to_s(base) and String#to_i(base) available to you.

Integer#to_s(base) converts a decimal number to a string representing the number in the base specified:

9.to_s(2) #=> "1001"

while the reverse is obtained with String#to_i(base):

"1001".to_i(2) #=> 9