4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
# File 'lib/tobinary.rb', line 4
def to_binary
number = self
if number < 0 || number > 65536
puts 'Sorry cannot convert this number to binary'
number
else
if number < 4
digits = Array.new(2,0)
elsif number < 256
digits = Array.new(8,0)
elsif number < 65536
digits = Array.new(16,0)
end
index = digits.length-1
if number == 1
digits[index] = 1
else
while number >= 2
reminder = number %2
digits[index] = reminder
index -= 1
number /= 2
if number == 1
digits[index] = 1
end
end
end
end
digits.join
end
|