バイナリおよび16進数の操作

2進数と16進数は、私たちが日常生活で使用する伝統的な10進数の2つの選択肢です。 アドレス、マスク、キーなどのコンピュータネットワークの重要な要素には、すべてバイナリまたは16進数が関係します。 このようなバイナリと16進数がどのように機能するかを理解することは、ネットワークの構築、トラブルシューティング、プログラミングに不可欠です。

ビットとバイト

この記事シリーズでは、コンピュータのビットバイトの基本的な知識を前提としています

バイナリと16進数は、ビットとバイトで格納されたデータを扱う自然な数学的方法です。

2進数と基本2

2進数はすべて「0」と「1」の2桁の組み合わせで構成されます。 バイナリ数値の例をいくつか示します。

1
10
1010
11111011
11000000 10101000 00001100 01011101

エンジニアと数学者は、バイナリナンバリングシステムをベース2システムと呼んでいます。なぜなら、バイナリナンバーは2桁の数字「0」と「1」しか含まないからです。 比較すると、通常の10進数のシステムは、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の漸進的な係数を掛けます。計算は常に右から左に動作します。

上記の例では、小数123は次のように動作します。

3 +(10 * 2 )+(10 * 10 * 1 )= 123

2進数1111011は次のように10進数に変換されます。

1 +(2 * 2 * 1 )+(2 * 2 * 1 )+(4 * 2 * 1 )+

したがって、2進数1111011は10進数123に等しい。

10進数から2進数への変換

逆方向の数値を10進数から2進数に変換するには、プログレッシブ乗算ではなく連続除算が必要です。

10進数から2進数に手動で変換するには、10進数で始まり、2進数の基数(基数 "2")で除算を開始します。 各ステップについて、除算は1の剰余になり、2進数のその位置に「1」を使用する。 除算の結果が0の代わりに残っている場合は、その位置に「0」を使用します。 除算の結果が0になると終了します。結果の2進数は右から左に並べられます。

たとえば、10進数109は次のようにバイナリに変換されます。

10進数109は2進数1101101に等しい。

ワイヤレスとコンピュータネットワーキングのマジックナンバー もご覧ください