はじめに
プログラミング初学者です。今回初めて記事を書きます。
今後アウトプットすることを習慣にするため、練習も兼ねて短いものから、徐々に書いていきたいと思います。
今回は、某スキルチェックサイトで勉強している際に少し混乱したので自分の備忘録も兼ね書きます。
変換する際の注意点
10進数からn進数、n進数から10進数にそれぞれ変換する場合、使うメソッドが変わります。
10進数をn進数に変換する場合 to_sメソッドを使う
to_sメソッドに引数を渡すことでそれぞれ2〜36進数までの文字列をかえしてくます。
p 255.to_s(2) # => "11111111" 10進数 → 2進数
p 255.to_s(8) # => "377" 10進数 → 8進数
p 255.to_s(16) # => "ff" 10進数 → 16進数
p 255.to_s(32) # => "7v" 10進数 → 32進数
p 255.to_s(36) # => "73" 10進数 → 36進数
n進数を10進数に変換する場合 to_iメソッドを使う
先ほどの逆でn進数を10進数に変換したい場合は、to_iメソッドに引数を渡します。
p "111000".to_i(2) # => 56 2進数 → 10進数
p "111888".to_i(8) # => 73 8進数 → 10進数
p "111fff".to_i(16) # => 1122303 16進数 → 10進数
p "111vvv".to_i(32) # => 34668543 32進数 → 10進数
p "111zzz".to_i(36) # => 62239103 36進数 → 10進数
最後に
今後も少しずつですが、記事を書いてアウトプットし私と同じような初学者の方のお力になれたら幸いです。
また、間違っている点などございましたら、遠慮なくご指摘下さい。よろしくお願い申し上げます。