0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[CS] n進数を10進数へ 基数変換

Posted at

はじめに

n進数を10進数に変換する方法をまとめてみました。
そもそも進数ってなんすかって人は、進数の概念をこちらの記事にまとめております。↓

n進数の重み

n進数を10進数に変換したいときはn進数の重みについて学ばなければなりません。

例えば2進数であれば、桁が増えたときに10進数ではどの数字を表しているか見てみましょう。

2進数の桁が増えたとき
1, 10, 100, 1000, 10000, 100000, 1000000 ...

上記が2進数で桁が増えた時の数字です。
これを10進数で表します。この程度であれば頭の中でできますね。

10進数に置き換える
1, 2, 4, 8, 16, 32, 64 ...

これでわかるように、桁が増えるごとに倍になっていっています。
2の(桁数-1)乗と考えると楽です。

これが2進数の桁の重みと言います。

小数点の桁の重みは??
小数第一位から、2進数だったら
1/2, 1/4, 1/8, 1/16 ...となっていきます。

10進数へ基数変換

重みが理解できたら10進数に変換する方法を説明します。

①それぞれの桁にその桁の重みをかけます。

②全部の結果を足し算をする

これだけです。

例えば2進数の110.011を10進数に直してくださいって問題だったら、

1    1    0    .    0    1    1
↓    ↓    ↓         ↓    ↓    ↓
×4   ×2   ×1      ×1/2  ×1/4 ×1/8
↓    ↓    ↓         ↓    ↓    ↓
4    2    0         0   0.25  0.125

上記の結果を全て足すと
=> 6.375

最後に

基数変換はこのn進数を10進数に直す以外にも、10進数の数字を2進数へ変換したり、2進数の数字を16進数に変換したりすることが想定できます。

それらの変換の仕方はまた別になります。
私には文字だけで説明できる自信がありませんので今回は省いておきます。
また、説明できる時がきたら記事にまとめたいと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?