リスキリング|情報技術者への歩み、デジタルを使う側から作る側へ

情報技術者のスキルを身に付け、デジタルを提供する側になれば未来で勝ち組になれると思うので頑張る!

「基数・基数変換」についてわかりやすく解説(その1)|基礎理論(基本情報技術者)

amprime.hatenablog.com

|基数(進数)とは何か?

 基数とは、数を表すための基本となる数の数え方の単位のことを指します。

 一般的に10進数を使用しているため、我々が普段使っている数値は10進数で表現されますが、2進数、8進数、16進数など他の基数でも表現することができます。基数によって数の表現方法が変わるため、各基数の特徴を理解することで、数値を効率的に扱うことができるようになります。

 

|基数変換とは何か?

 基数変換とは、ある進数の数を別の進数の数に変換することを指します。

 一般的には、10進数から他の進数への変換や、他の進数から10進数への変換がよく用いられます。基数変換はコンピューターサイエンスや電気工学などの分野で頻繁に使用されます。進数を変換することで、より扱いやすい形にデータを変換することができます。基数変換には、手計算による方法と、プログラムを用いた自動変換の方法があります。

 

|基数変換の必要性について

 進数の表現方法は、ある数値を表現するために使用する数の種類や桁の数によって異なります。

 例えば、10進数では0〜9までの10種類の数で表現し、2進数では0と1の2種類の数で表現します。しかし、異なる進数の表現方法を比較したり、計算する際には、同じ進数表現に変換する必要があります。このような進数表現の変換を「基数変換」と呼び、進数の変換によって、数値の比較や計算が可能になります。したがって、異なる進数の表現方法を扱う場合には、基数変換が必要になります。

|2進数から10進数への基数変換について

 「2進数の1111」を10進数に変換する方法を例に挙げて説明します。

 

・2進数の1桁目の「1」に、2の3乗(2の指数が桁数-1から始まる)を掛けます。つまり、「1 × 2の3乗 = 8」です。

・2進数の2桁目の「1」に、2の2乗を掛けます。「1 × 2の2乗 = 4」です。

・2進数の3桁目の「1」に、2の1乗を掛けます。「1 × 2の1乗 = 2」です。

・2進数の4桁目の「1」に、2の0乗を掛けます。「1 × 2の0乗 = 1」です。

・1~4で求めた数値をすべて足し合わせます。つまり、「8 + 4 + 2 + 1 = 15」です。

 

 したがって、2進数の1111は、10進数の15に等しいことがわかります。

 

 このように、2進数から10進数への基数変換は、各桁の数値に対応する2の指数を掛け合わせ、その結果をすべて足し合わせることで行われます。この方法は、他の進数においても同様に適用されます。

 

|10進数から2進数へ基数変換について

 10進数から2進数への基数変換方法は、主に以下の通り行います。

  1.変換したい10進数の値を2で割り、商と余りを求めます。

  2.商が0になるまで、割り続けます。

  3.求めた余りを下から順番に並べます。

 

 例として、10進数の19を2進数に変換する手順を説明します。

  1.19を2で割ると、商が9、余りが1になります。

  2.商の9を2で割ると、商が4、余りが1になります。

  3.商の4を2で割ると、商が2、余りが0になります。

  4.商の2を2で割ると、商が1、余りが0になります。

  5.商の1を2で割ると、商が0、余りが1になります。

  6.求めた余りを下から順番に並べると、19の2進数表記は10011となります。

 

 基数変換する際には、計算を正確に行うことが大切です。また、計算の過程で小数点以下の値が出てくる場合は、小数点以下の桁数に応じて2を掛けたり割ったりして計算を進めます。さらに、2進数で表現できる最大の値を超えた場合は桁数を増やす必要があるため、計算前に変換したい10進数の値が2進数で表現可能かどうかを確認することも大切です。

amprime.hatenablog.com

amprime.hatenablog.com

|基数変換の注意点について

 進数の基数変換を行う際には、いくつかの注意点があります。

 

<0の扱い>

 各進数には、0という数字がありますが、0は何の値も持ちません。基数変換を行う際には、0が含まれる場合には、その数値に意味があるとは考えず、スキップして処理します。

<桁の重み>

 10進数のように、各桁に重みがあるため、桁の値を求める際には、その桁の重みを考慮する必要があります。たとえば、10進数の1234の場合、1は千の位、2は百の位、3は十の位、4は一の位の値を持ちます。一方で、2進数の場合には、各桁に重みがあるため、桁の値を求める際には、2の累乗を用いる必要があります。たとえば、2進数の1010の場合、1は2の3乗、0は2の2乗、1は2の1乗、0は2の0乗の値を持ちます。

<大きな数値の計算>

 大きな数値の場合には、計算が煩雑になるため、計算ミスに気をつける必要があります。基数変換をする際には、計算を細かく分けて、段階的に行うことで、ミスを防ぐことができます。

<小数点以下の処理>

 小数点以下の桁数がある場合には、小数点以下の処理にも注意が必要です。小数点以下の桁数が決まっている場合には、小数点以下の桁数に応じた重みを用いて、桁の値を求めることができます。ただし、小数点以下の桁数が無限に続く場合には、基数変換を行うことができません。

 

 これらの注意点を踏まえながら、正確な計算を行うことで、正しい基数変換を行うことができます。

amprime.hatenablog.com

amprime.hatenablog.com

amprime.hatenablog.com

amprime.hatenablog.com

amprime.hatenablog.com

amprime.hatenablog.com