十進法を二進法に変換する方法

2 方法:短除法を使って2で割った商と余りを出すべき指数2を降べき順に並べて引き算する

十進法(10を基数とするとする進法)は、0から9までの10種類の数を用いて数を表現する方法です。一方、二進法(2を基数とする進法)は、0と1の2種類の数を使用して表現する方法です。[1]二進法はコンピュータのプログラム言語なので、本気でプログラミングに取り組むつもりであれば、10進法を2進法に変換する方法を知っておく必要があります。

1
短除法を使って2で割った商と余りを出す

  1. 1
    実際に問題を解いてみましょう。例題として、十進法の数値15610を二進法に変換します。割られる数156を割り算の筆算記号の中に書き込みましょう。進法の基数の数値(ここでは二進法の2)を筆算記号の割る数のところに書き込みます。
    • この方法は、紙に書いて視覚的に捉えながら計算するため分かりやすく、ひたすら2で割っていくだけなので、初心者でも取り組みやすいでしょう。
    • 変換前後の混乱を防ぐため、数字の右下に基数を書きましょう。つまり、ここでは、十進法の数には下付き数字10、二進法の数には下付き数字2を付けます。
  2. 2
    割り算をしましょう。整数の答え(商)を割られた数の下に書き、余り(0または1)を割られた数の右に書きます。[2]
    • 割る数は2なので、割られる数が偶数のときは余りは0、奇数のときは余りは1になります。
  3. 3
    0になるまで割り算を続けましょう。商を2で割り続けて、割られた数の右に余りを書く作業を下向きに繰り返して書いていきましょう。商が0になったら計算をやめます。
  4. 4
    二進法に変換した数を書きましょう。余りの列を一番下から読みます。例題では、10011100という数になるはずです。これは、十進法の数156を二進法で表した数です。15610 = 100111002のように、基数の下付き数字を添えて書き表すこともできます。
    • この方法を応用すれば、十進法で表した数字をあらゆる進法に変換できます。基数を2(つまり二進法)に変換したいとき、除数(割る数)は2です。別の基数の進数に変換したいときは、除数をその基数に置き換えましょう。例えば、九進法に変換したい場合、除数2を9に置き換えて計算します。そうすると、九進法で表された数が得られます。

2
べき指数2を降べき順に並べて引き算する

  1. 1
    まず、数列表を作りましょう。「2のn乗の一覧表」の中の2のべき乗を右から左に書き出します。20(2の0乗)を「1」として始めます。ひとつ左に進むごとに、ひとつ大きい指数にして、べき乗を出しましょう。与えられた数以下で最大となる2のべき乗にたどりつくまで続けます。例題として、十進数15610を二進数に変換してみましょう。
  2. 2
    最大の2のべき乗を見つけましょう。与えられた数以下で最大の2のべき乗を選びましょう。ここでは、156以下で最大となる2のべき乗は128なので、数列の128と書かれたマスの下に二進数の最高位の数字として1と書きます。その後、最初に与えられた数から128を引きましょう。答えは28になります。
  3. 3
    すぐ下の位の2のべき乗に移りましょう。その2のべき乗が先ほどの引き算で得た28の中にいくつ入るかを考えます。64は28を越してしまうので、64の下に0と書きましょう。これが求める二進数の左から2番目の数となります。28以下の数字にたどりつくまでこの作業を繰り返します。
  4. 4
    同様に、引き算の答えからその数以下で最大となる2のべき乗の数を引いていき、それらの数に1の印をつけましょう。16は28以下で最大の2のべき乗なので、16のマスの下に1と書き、28から16を引きます。引き算の答えは12です。8は12以下で最大の2のべき乗なので、8のマスの下に1と書き、12から8を引きます。答えは4です。
  5. 5
    数列表の最終マス(1のマス)にたどりつくまでこれを繰り返します。引き算で得た数字に収まる最大の2のべき乗の下には1、収まらない数の下には0と書くのを忘れないようにしましょう。
  6. 6
    求める二進数を書きとめましょう。マスの下に書かれた1と0を左から読むと、先ほどとまったく同じ二進数が出ます。答えは、10011100のはずです。これは、156を二進法で表した数です。15610 = 100111002のように、基数の下付き数字を添えて書き表すこともできます。
    • この方法を繰り返すと、2のべき乗を暗記することができます。そして、2のべき乗を暗記していると、ステップ1を省略できるようになります。

ポイント

  • Windows10に搭載されている電卓でもこの変換はできますが、プログラマーなら、この変換の仕組みをよく理解しているほうが有利です。電卓の変換オプションは、「表示」メニューから「プログラマ」を選択すると表示できます。
  • 先に二進法から十進法に変換する方法を学習するほうがわかりやすいかもしれません。
  • 練習しましょう。十進数17810、6310、810を変換してみましょう。これらを順に二進数で表すと101100102、1111112、10002となります。20910、2510、24110 をそれぞれ110100012、110012、111100012に変換してみましょう。

記事の情報

カテゴリ: 数学 | パソコン・エレクトロニクス

他言語版:

English: Convert from Decimal to Binary, Français: convertir du décimal en binaire, Italiano: Convertire un Numero dal Sistema Decimale a Quello Binario, Español: convertir de decimal a binario, Deutsch: Eine Dezimalzahl in eine Binärzahl umwandeln, Português: Converter de Decimal para Binário, Nederlands: Binair naar decimaal omrekenen, Русский: переводить из десятичной системы счисления в двоичную, 中文: 从十进制转换为二进制, Bahasa Indonesia: Melakukan Konversi Bilangan Desimal ke Biner, Čeština: Jak převádět z desítkové do dvojkové soustavy, ไทย: แปลงเลขฐานสิบเป็นเลขฐานสอง, हिन्दी: दशमलब अंक से बाइनरी (binary) में बदलें, العربية: التحويل من النظام العشري إلى النظام الثنائي, Tiếng Việt: Đổi từ Số Thập phân sang Nhị phân

このページは 49 回アクセスされました。

この記事は役に立ちましたか?