簡単で理解しやすい基本的な用語がいくつかあります。
* A bit (b) is the smallest unit of data comprised of just {0,1}
* 1 nibble (-) = 4 bits (cutesy term with limited usage; mostly bitfields)
* 1 byte (B) = 8 bits (you could also say 2 nibbles, but that’s rare)
ビットとバイト(プレフィックスを含む)を変換するには、単に8で乗算または8で割ります。素敵でシンプル。
大規模なデータグループを測定する2つのシステム、decimalとbinaryがあるため、状況はもう少し複雑になります。何年もの間、コンピュータープログラマーとエンジニアは両方に同じ用語を使用していましたが、混乱は最終的に適切なプレフィックスセットを標準化するためのいくつかの試みを引き起こしました。
各システムは、ビットまたはバイトのいずれかに適用できる同様のプレフィックスセットを使用します。各プレフィックスは両方のシステムで同じように始まりますが、バイナリプレフィックスはその後、ベビートークのように聞こえます。
10進法は10を基数としています。10本の指があるため、ほとんどの人が慣れて快適に使用できます。バイナリシステムはbase-2であり、ほとんどのコンピューターは2つの電圧状態を持っているため、ほとんどのコンピューターが使い慣れています。
10進法は、ほとんどの人にとって明らかで使いやすい(頭の中で乗算するのに十分単純です)。各プレフィックスは1,000ずつ上がります(その理由はまったく別の問題です)。
バイナリシステムは、ほとんどのコンピューター以外の人が使用するのがはるかに難しく、プログラマーでさえ、頭の中で複数の任意の大きな数字を使用できないことがよくあります。それでも、それは2の倍数であるという単純な問題です。各プレフィックスは1,024ずつ上がります。1つの「K」は1,024です。これは、10進数の「k」1,000に最も近い2のべき乗であるためです(これはこの時点では当てはまりますが、連続するプレフィックスごとに差が急速に大きくなります)。
同じプレフィックスを持つビットとバイトの番号は同じです。
* Decimal:
* 1 kilobyte (kB) = 1,000 B = 1,000^1 B 1,000 B
* 1 megabyte (MB) = 1,000 KB = 1,000^2 B = 1,000,000 B
* 1 gigabyte (GB) = 1,000 MB = 1,000^3 B = 1,000,000,000 B
* 1 kilobit (kb) = 1,000 b = 1,000^1 b 1,000 b
* 1 megabit (Mb) = 1,000 Kb = 1,000^2 b = 1,000,000 b
* 1 gigabit (Gb) = 1,000 Mb = 1,000^3 b = 1,000,000,000 b
* …and so on, just like with normal Metric units meters, liters, etc.
* each successive prefix is the previous one multiplied by 1,000
* Binary:
* 1 kibibyte (KiB) = 1,024 B = 1,024^1 B 1,024 B
* 1 mebibyte (MiB) = 1,024 KB = 1,024^2 B = 1,048,576 B
* 1 gibibyte (GiB) = 1,024 MB = 1,024^3 B = 1,073,741,824 B
* 1 kibibit (Kib) = 1,024 b = 1,024^1 b = 1,024 b
* 1 mebibit (Mib) = 1,024 Kb = 1,024^2 b = 1,048,576 b
* 1 gibibit (Gib) = 1,024 Mb = 1,024^3 b = 1,073,741,824 b
* …and so on, using similar prefixes as Metric, but with funny, ebi’s and ibi’s
* each successive prefix is the previous one multiplied by 1,024
10進数と2進数のシステムの差は小さいものから始まり(1Kで24バイト、つまり2.4%間隔)、各レベルで大きくなります(1Gでは70MiB、または6.9%離れています)。
一般的な経験則として、ハードウェアデバイスは10進単位(ビットまたはバイト)を使用し、ソフトウェアはバイナリ(通常はバイト)を使用します。
これは、一部のメーカー、特にmfgsをドライブする場合、ドライブサイズを大きくするために10進単位を使用することを好む理由ですが、ユーザーはWindowsなどを見ると予想よりも少ないと感じるとイライラします。al。サイズをバイナリで報告します。たとえば、500GB = 476GiBであるため、ドライブに500GBが含まれるようにラベル付けされている間、マイコンピュータはバイナリ476GiB(ただし「476GB」)を表示するため、ユーザーは他の23GBがどこにあるのか疑問に思います。(ドライブの製造元はしばしばパッケージに脚注を付けて「フォーマットされたサイズが小さい」と述べていますが、これはファイルシステムのオーバーヘッドが10進単位と2進単位の違いに比べて何もないため誤解を招きます。)
ネットワーキングデバイスは、多くの場合、歴史的な理由からバイトではなくビットを使用します。ISPは、提供する接続の速度を大きくするため、ビットを使用してアドバタイズすることがよくあります。1.5MiBpsではなく12Mibpsです。多くの場合、ビットとバイト、10進数と2進数を組み合わせて一致させます。たとえば、ISPが「12MBps」ラインと呼んでいるものをサブスクライブし、12MiBpsを取得しているが実際には1.43MiBps(12,000,000 / 8/1024/1024)を受信していると考えます。