IPアドレス|CCNA v1.1・v2.0
2進数と10進数
2進数は0と1だけで数を表します。8桁の2進数を10進数へ直す方法を、実際に計算しながら確認します。
解説
各ビットの位置が128から1までの値を持つ
8のでは、左から128、64、32、16、8、4、2、1の値を持ちます。2進数からへ直すときは、1になっている桁の値を足します。反対に10進数から2進数へ直すときは、合計がその数になるように使う桁を選び、使う桁を1、使わない桁を0にします。下の図では両方向を一つずつ計算します。
具体例で考える
例えば、10進数の5は2進数では00000101です。右端から1、2、4、8と値が倍になり、1になっている4と1を足すため5になります。変換では、各桁が表す値を先に確認してから足します。
2進数 11000000 を10進数へ直す
桁の値1281使う
桁の値641使う
桁の値320使わない
桁の値160使わない
桁の値80使わない
桁の値40使わない
桁の値20使わない
桁の値10使わない
1になっている桁だけを足す128 + 64 = 19211000000₂ = 192₁₀
10進数 13 を8桁の2進数へ直す
- 8を使う13-8=残り5
- 4を使う5-4=残り1
- 2は使わない残り1より大きい
- 1を使う1-1=残り0
8・4・1の桁を1にする8 + 4 + 1 = 1313₁₀ = 00001101₂
仕組み
位置ごとの重みを書く
左から128、64、32、16、8、4、2、1と並べます。
1の位置を選ぶ
2進数で1になっている位置の値だけを使います。
選んだ値を足す
合計が対応する10進数です。
逆変換では大きい値から引く
たとえば13は8+4+1です。そのため8・4・1の桁を1、ほかの桁を0にすると、8桁の2進数では00001101になります。
CCNA試験ポイント
- 8ビットの各桁の重みを使います。
- 1の位置の値を合計して10進数へ変換します。
- 計算で頻繁に使います。
確認問題・解説
10進数の13を8桁の2進数で表したものはどれですか?
まとめ
- 2進数は0と1で表します。
- 8ビットの重みは128から1です。
- 1の位置の値を足して10進数へ変換します。