SEはプログラミングにおいて数値計算することはまれですが、NEはサブネットの計算、帯域計算、トラフィック計算、I/Oの負荷計算等、日常的に数値計算する業務が多くあります。ここではNE必須の数値計算について、要点を絞ってまとめていきたいと思います。
はじめに
基数とは
例えば「128」という10進数の数字の場合、下図のとおり表せます。

各々の桁に対して10の0乗、10の1乗、10の2乗~を計算し、その結果を足すことで計算します。この元になる数字を基数と呼び、この場合基数は10です。つまり10進数とは基数が10の数値といえます。
基数変換とは
10進数から2進数、10進数から16進数というように、基数を変換することです。
2.10進数 ⇔ 2進数 の基数変換
10進数 → 2進数
2で割ってその余りを並べると、2進数になります。下図のように例えば「23」という10進数の数字の場合、2進数では「10111」となります。

ネットワークでよく使う256までの数字の場合は、下図の通り、表にあてはめて変換します。
例えば「101」という10進数の数字の場合、「128」より小さいので、128以上は1にならないことが分かります。次に101は64以上なので64に1を付け、101-64=37。残り37について同様にフラグを立てていきます。この256、128、64、32~という基数の8乗まで覚えておく、つまりこの表を頭に入れておくと計算が速くなります。

2進数 → 10進数
大きな数字の場合は4桁ごとに区切って、16進数に変換してから10進数に変換します。
ネットワークで使う256までの数字の場合は、上図の逆パターンです。
3.10進数 ⇔ 16進数 の基数変換
10進数 → 16進数
方法は2進数と同じで、16で割ってその余りを並べると、16進数になります。余りが10以上の場合は、余り10=A、11=B、12=C、13=D、14=E、15=F、で読み替えます。下図のように例えば「689」という10進数の数字の場合、16進数では「2B1」となります。

※小数点以下が存在する場合は方法が異なるのですが、ここでは省略します。
16進数 → 10進数
各桁を16の0乗、1乗、2乗~で計算してその結果を足します。下図のように例えば「2B1」という16進数の数字の場合、10進数では「689」となります。

※小数点以下が存在する場合は方法が異なるのですが、ここでは省略します。
4.現場で良く使う計算単位
「ビット」と「バイト」等の単位
「0」、「1」で表す2進数1桁をコンピュータ上の単位として1ビット(bit)と呼びます。対して8ビットを1バイト(Byte)と呼びます。

Byteは「B」、bitは「b」と略されます。
主に、ハードディスクの容量はKB、MB、GBというようにバイトで表現されるのに対して、
ネットワークの通信速度はKbps、Mbps、Gbpsのようにビットで表現されます。
このため、例えば100MBのデータをネットワークで送信する際、回線速度が100Mbpsであれば、
送信に 100×8 / 100 = 8秒 かかることになります。
非常に手間ですが、ネットワーク設計の際、頻繁にこのビットとバイトの変換が必要になります。
KB、MB、GB ~
1000ごとの単位です。KB→MB→GB→TB→PB(ペタバイト)→EB(エクサバイト)と続きます。
メビバイト:MiB
ごくまれに、MiB単位で容量や転送量を表現する機器があります。1MiB=1.04858MBです。
GT/s(GigaTransfers per second)
CPUやPCI Expressインターフェース等で利用される転送速度を表す単位です。8b/10b(8ビットを転送するために2ビットをクロック信号として使い、10ビット利用するエンコード方式)の冗長2ビットを加算した単位をGT/sで表します。
このため1GT/s=0.8Gbpsとなります。