10 進数をバイナリ文字列に変換する新しいメソッド Integer#to_bin を作成したいと考えています。#to_bin の引数は桁数です。その桁数になるように、結果の先頭にゼロを埋め込む必要があります。
例:
1.to_bin(4)
#=> "0001"
1.to_bin(3)
#=> "001"
1.to_bin(2)
#=> "01"
7.to_bin(1)
#=> nil
7.to_bin
#=> "111"
etс.
私が試したこと:
class Integer
def to_bin(number=nil)
if number == nil
return self.to_s(2)
else
s = self.to_s(2).size
e = number-s
one = '0'
two = '00'
three = '000'
if e==one.size
one+self.to_s(2)
elsif e==two.size
two+self.to_s(2)
elsif e==three.size
three+self.to_s(2)
end
end
end
end
整数を先行ゼロで埋められたバイナリ文字列に変換するにはどうすればよいですか?