FE EXAM

2進数 → 10進数(桁の重みを足し算する)

2進数の各桁に「桁の重み(2のべき乗)」を掛けて全部足すと10進数になります。各桁の寄与度を棒グラフで確認しながら学びます。

INTERACTIVE VISUALIZATION
ビット 1(足す)
ビット 0(足さない)
2進数(入力)
1101(2)
ビット数
4
10進数(結果)
13
2進数を入力
プリセット
各桁の「重み(2のべき乗)」に「そのビット値」を掛けた寄与度を棒グラフで表示。ビットが 1 の桁だけが結果に足し込まれます。
23
8
1
=8
22
4
1
=4
21
2
0
=0
20
1
1
=1
計算式(全桁)
8×1 + 4×1 + 2×0 + 1×1=13
ON のビットだけ抜き出すと: 8 + 4 + 1 = 13
解説

📌
2進→10進変換とは

2進数 → 10進数とは、コンピュータが扱う 0/1 だけの2進数を、私たちが普段使う10進数に翻訳する操作です。

10進→2進が「2で割って余りを集める」という割り算系の作業だったのに対し、こちらは「桁の重みを足す」だけで済むので機械的に解けます。

たとえば1101(2進)を10進数に変換するなら、各桁の重み 8, 4, 2, 1 を「ビットが 1 のところだけ」足して 8 + 4 + 1 = 13。それだけです。

桁の重みを掛けて合計する手順

手順は3つのステップです。
① 各桁の重み(右から 1, 2, 4, 8, 16, 32, 64, 128, ...)を書き出す
② ビットが「1」の桁の重みだけ抜き出す
③ 抜き出した重みを全部足す

式で書くと 10進数 = Σ(ビット × 2^桁位置)。桁位置は右端を 0 として 0, 1, 2, ... と数えます。

10110011 (8ビット) を変換する例:
・桁の重み: 128, 64, 32, 16, 8, 4, 2, 1
・ビット: 1, 0, 1, 1, 0, 0, 1, 1
・ON の桁だけ拾う: 128 + 32 + 16 + 2 + 1 = 179

覚えておきたい値: 2 のべき乗をすぐ思い出せると変換がスムーズになります。最低限以下は押さえておくとよいでしょう。
1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024
・1024 = 1K、約100万 = 1M、約10億 = 1G という対応も覚えておくと便利

📝
よくある計算パターン

代表的な計算パターンを挙げます。
・「2進数 10110011 を10進数に直すといくつか?」 → 答え 179
・「2進数 11111111(8ビット全部1)は何か?」 → 255(1バイトの最大値)
・「ある2進数の値が 256 を超えるためには最低何ビット必要か?」 → 9ビット(2⁸=256 を超える最小桁数)

うっかりミスを防ぐコツ:
・桁の重みを「右から数える」こと(左から数える人が時々いる)
・最右端の重みは 1(= 2⁰)、その左が 2、4、8... と倍々
0 の桁は無視してよい(足し算に貢献しないから)
・8ビットの最大値は 255。256 ではない(0〜255 で 256 通り、最大は 255)

上のツールで「11111111」を選んでみてください。128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255 という有名な等式が確認できます。これは1バイトで表せる最大の符号なし整数です。

関連コンテンツ