将十进制转换为二进制,八进制和十六进制?

时间:2012-09-11 17:16:55

标签: ruby

我正在尝试使用Ruby将变量(始终为数字)转换为二进制,八进制和十六进制。

此时的代码是:

def convert(number)
  puts "#{number} in decimal is"
  puts "#{number.to_s(2)} in binary"
  puts "#{number.to_s(8)} in octal"
  puts "#{number.to_s(16)} in hexadecimal"
end

到目前为止输出是:

2 in decimal is
10 in binary
2 in octal
2 in hexadecimal

前两行运行良好,但在此之后它忽略了转换命令并且只是将变量放入。有没有人知道它是什么我错过了?

1 个答案:

答案 0 :(得分:10)

您错过了2在基数8,16或任何大于2的基数中的2这一事实。请尝试convert(42)以获得乐趣。