2進数と16進数は、私たちが日常生活で使用する伝統的な10進数の2つの選択肢です。アドレス、マスク、キーなどのコンピュータネットワークの重要な要素には、すべてバイナリまたは16進数が関係します。このようなバイナリと16進数がどのように機能するかを理解することは、ネットワークの構築、トラブルシューティング、プログラミングに不可欠です。
ビットとバイト
この記事シリーズでは、コンピュータのビットとバイトの基本的な知識を前提としています。バイナリと16進数は、ビットとバイトで格納されたデータを扱う自然な数学的方法です。
2進数と基本2
2進数はすべて「0」と「1」の2桁の組み合わせで構成されます。バイナリ数値の例をいくつか示します。11010101111101111000000 10101000 00001100 01011101
エンジニアと数学者は、バイナリナンバリングシステムをa ベース2 なぜなら2進数は2桁の数字「0」と「1」しか含まないからです。比較すると、通常の10進数のシステムは、 ベーステン 「0」から「9」までの10桁の数字を使用します。 16進数(後述)は、 ベース16 システム。
バイナリから10進数への変換
すべての2進数は等価の10進表現を持ち、逆も同様です。バイナリと10進数を手動で変換するには、次の数学的概念を適用する必要があります。 位置の値 .
ポジション値の概念は単純です。バイナリと10進数の両方で、各桁の実際の値は、その数(その中で左からどれくらい)の位置に依存します。
たとえば、10進数 124数字「4」は値「4」を表すが、数字「2」は「2」ではなく「20」の値を表す。 '2'は、この場合は数字の左側にさらに配置されているため、 '4'より大きい値を表します。
同様に2進数で 1111011右端の「1」は値「1」を表しますが、左端の「1」ははるかに高い値(この場合は「64」)を表します。
数学では、ナンバリングシステムの基底が、位置によって桁をどれだけ価値づけするかを決定します。 10進数の10進数の場合、左の各桁に10の累進係数を掛けてその値を計算します。 2進数の2進数の場合、左の各桁に2の漸進的な係数を掛けます。計算は常に右から左に動作します。
上記の例では、10進数 123 次のように働きます:
3 + (10 * 2) + (10*10 * 1) = 123
2進数1111011は次のように10進数に変換されます。
1 + (2 * 1) + (2*2 * 0) + (4*2 * 1) + (8*2 * 1)+ (16*2 * 1) + (32*2 * 1) = 123
したがって、2進数1111011は10進数123に等しい。
10進数から2進数への変換
逆方向の数値を10進数から2進数に変換するには、プログレッシブ乗算ではなく連続除算が必要です。
10進数から2進数に手動で変換するには、10進数で始まり、2進数の基数(基数 "2")で除算を開始します。各ステップについて、除算は1の剰余になり、2進数のその位置に「1」を使用する。除算の結果が0の代わりに残っている場合は、その位置に「0」を使用します。除算の結果が0になると終了します。結果の2進数は右から左に並べられます。
たとえば、10進数 109 次のようにバイナリに変換します。
- 109/2 = 54残余 1
- 54/2 = 27剰余 0
- 27/2 = 13剰余 1
- 13/2 = 6剰余 1
- 6/2 = 3剰余 0
- 3/2 = 1剰余 1
- 1/2 = 0の余り 1
10進数109は2進数に等しい 1101101.




