【独学CCNA】020.2進数と10進数
ゼロからのCCNA独学講座
本連載では、シスコ技術者認定資格であるCCNA合格を目指して、試験範囲の解説や問題演習などを扱っていきます。
前回はIPアドレスとは何かについて説明しました。
IPv4で扱っているIPv4アドレスを理解する上で、まず2進数と10進数について知っておく必要があります。
今回は2進数と10進数について説明していきます。
- 2進数と10進数
- 2進数→10進数の変換
- 10進数→2進数の変換
- まとめ
2進数と10進数
私たちが日常生活で扱っている数値は10進数で、0~9の10個の数字で数を表現しています。
一方コンピュータの世界では0と1の2個の数字だけで数を表現します。これを2進数といいます。
また、コンピュータが扱えるデータの最小単位として、0か1で表現された1桁のことを1ビットと呼びます。
インターネット上の住所であるIPv4アドレスも同様にコンピュータの世界では2進数で扱われています。
しかし、2進数で表される数は人間にとってはとても分かりづらいものです。
そこで分かりづらい2進数を10進数に変換することで、IPv4アドレスを人間にとって分かりやすい数値にして表現します。
では2進数を10進数に変換するにはどのようにすればよいのでしょうか。
次項で学んでいきましょう。
2進数→10進数の変換
まず10進数ではどのような考え方で数を表現しているか今一度確認してみましょう。
10進数では10の何乗かで位取りをしています。
例えば103という数は以下のように考えます。
各桁の数字と位を掛け算し、全て足すことで103と表しています。
では2進数はどうでしょうか。
2進数では2の何乗かで位取りをしています。
例えば11010001という数を10進数に直して表すときは以下のように考えます。
10進数と同様に各桁の数字と位を掛け算し、全て足してみましょう。
つまり、2進数で11010001という数を10進数で表すと209となります。
2進数の数を10進数に変換するにはこのような方法を取ります。
CCNAの試験で登場するIPv4アドレスの計算問題では、上のような表を使うと楽に計算が出来ます。
10進数→2進数の変換
2進数を10進数に変換してIPv4アドレスを表現することが出来るようになりました。
では、反対に10進数を2進数に変換してIPv4アドレスを表現するにはどのようにすればよいのでしょうか。
いくつか方法がありますが、今回は先ほど2進数を10進数に変換した際に使った表で説明します。
例題として10進数の182という数をこの表を使って2進数に変換してみましょう。
まずは182からこの表で一番大きな数、128が引けるかどうかを考えます。(但し計算結果がマイナスにならないように考えてください)
182のほうが128より大きいので引くことが出来ますね。
このような場合は182-128×1と計算をし、128の枠に1と記入します。
計算結果は54になります。
次に計算結果の54から、128の右に表に書かれている数64が引けるかどうかを考えます。
今回は引くことが出来ないですね。
このような場合は54-64×0と計算をし、64の枠には0と記入します。
これを最後の1まで繰り返していきます。
よって、10進数の182という数を2進数で表すと「10110110」となります。
IPv4アドレスの計算をする際は表さえ覚えてしまえばこの方法で楽に計算できるためお勧めです。
まとめ
- IPアドレスはインターネットやLANなどのIPネットワークに接続された通信相手を識別するための番号のこと。
- IPv4アドレスはコンピュータの世界では2進数で表現されている。
- 2進数を10進数に変換することで人間にとって分かりやすい数で表現できる。
確認問題
次のうち正しい選択肢を選んでください。
- IPアドレスは同一ネットワーク上の通信相手を識別するための番号である。
- 2進数「10010010」を10進数に変換すると「146」となる。
- 10進数「224」を2進数に変換すると「11010100」となる。
今回は2進数と10進数の変換について説明しました。
次回はネットワークアドレスとブロードキャストアドレスについて説明します。