広告スペース(バナー)
💎Ruby レッスン
基本文法の基礎8
データ構造とオブジェクト指向7
構文の基本を深める9
関数とデータ構造の応用9
アルゴリズムとテストの基礎8
文字列・数値操作の応用8
実務で役立つ機能8
アルゴリズム練習問題10
レッスン 62 / 68

進数を変換しよう(2進数・16進数)

このレッスンでは、Rubyで数値を2進数や16進数に変換する方法を学び、進数変換の基本的な考え方を理解することを目標にします。「Ruby 進数変換 to_s」で調べている方向けの内容です。

to_s(基数)を使うと、数値を指定した基数の文字列に変換できます。逆にto_i(基数)を使うと、その基数の文字列を10進数の数値に戻せます。コンピュータの内部では数値がこうした進数で扱われています。

サンプルコードでは、42という数値をnum.to_s(2)で2進数の文字列に、num.to_s(16)で16進数の文字列に変換しています。逆に"101010".to_i(2)では、2進数の文字列を10進数の42に戻しており、変換が正しく行われているかを確認できます。

初心者がよくつまずくのが、通常使うto_sto_iと、基数を指定した場合の違いです。引数を省略するといつもの10進数表記になりますが、引数に基数を指定すると全く別の意味の変換になる、という違いに最初は戸惑うかもしれません。

コンピュータの内部では2進数、色コードでは16進数がよく使われる、覚えておきたい基礎知識です。8進数を扱いたい場合も同じto_sの基数引数を変えるだけで対応できます。

📖 お手本コード
✍️ あなたのコード
コードを書いたら「実行する」を押してください

🧪 このサイトではRubyを直接コンパイル・実行できないため、お手本コードと同じ内容を入力できたかをその場で判定します(採点はブラウザ内だけで行われ、どこにも送信されません)。

🎯
ここまでできればゴール達成!
2進数・16進数への変換ツールが作れるようになります。
広告スペース(バナー)
広告スペース(記事内)