Skip to main content

コンピュータネットワークにおけるバイナリと16進数

【中级篇-1】进阶的网络之精确打击!看完你就成为真正的网络高手,什么是NAT转发?端口映射?子网掩码?迈克组网教程公开课第二讲,打开新世界的大门。庆祝油管一万粉丝达成,感谢大家支持。 (六月 2026)

【中级篇-1】进阶的网络之精确打击!看完你就成为真正的网络高手,什么是NAT转发?端口映射?子网掩码?迈克组网教程公开课第二讲,打开新世界的大门。庆祝油管一万粉丝达成,感谢大家支持。 (六月 2026)
Anonim

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.