基数変換

コンピューター C言語

Amazon.co.jp

我々は日常生活では10進数を使うが、コンピュータでは、2進数が便利である。
ただし、2進数では桁が多すぎることから、実際には8進数や16進数が使われている。

2進数とは、値が2になるときに桁がひとつ上がる表記法。
コンピュータでは電気信号のONとOFF、1と0でデータを表現するので2進数が便利である。

16進数とは、値が16になるときに桁がひとつ上がる表記法。アラビア数字には、0~9の10種類しかないので、10~15までの値をA~Fまでのアルファベットで表す。

基数とは
桁上がりの基準となる数である。10進数は10になると桁上がりするので、基数は「10」である。。
2進数では、「2」、16進数では、「16」となる。

どの表記法であっても、本質的に表している値は同じである。そのため、相互に変換することができる。これを「基数変換」という。

基数変換の方法

2進数を10進数に変換

① 各桁の数字× 2

nは、桁数ー1

② 掛け算した各桁の数字を足し算する。

2進数の101を10進数に変換
101 = 1 × 22 + 0 × 21 + 1 × 20
101 = 1 × 4 + 0 × 2 + 1 × 1 = 5

16進数を10進数に変換

① 各桁の数字× 16

nは、桁数ー1

② 16進数のアルファベットを10進数に変換した上で、掛け算した各桁の数字を足し算する。

16進数の1FDを10進数に変換
1FD = 1 × 162 + 15 × 161 + 13 × 160
1FD = 1 × 256 + 15 × 16 + 13 × 1 = 509

10進数を2進数に変換

10進数の57を2進数に変換する。2で割ることを繰り返して、剰余を逆に並べると「111001」が得られる。

10進数を16進数に変換

10進数の57を16進数に変換する。0になるまで16で割って、剰余を逆に並べると「39」が得られる。

なお、ITパスポート試験では、10進数を2進数に変換16進数を10進数に変換がよく出題される。

コメント

タイトルとURLをコピーしました