単位ツール·5 分

バイト、KB、MB、GB、TB(および PB)の換算方法

二進と十進の理解、バイト単位間の換算、そしてよくある落とし穴の回避。

なぜ 2 種類の "MB" があるのか?

1 TB のハードドライブを買って接続すると、OS は 931 GB と表示します。ドライブが「69 GB 不足」しているように見えます。これはバグでも詐欺でもフォーマットエラーでもありません。私たちがストレージを命名する方法に根ざした二進と十進の混乱です。

核心的な問題は:1,000(十進、SI 標準)で割るか、1,024(二進、コンピュータが内部で実際に使う)で割るか、という点です。

  • 1 KB = 1,000 バイト(十進、ハードドライブメーカーが使用、SI が規定)
  • 1 KiB = 1,024 バイト(二進、旧 Windows が "KB" と呼んでいたもの、RAM の計測単位)

曖昧さを解消するため、IEC は 1998 年に新しい二進接頭辞を導入しました:KiB(kibibyte、2^10)、MiB(mebibyte、2^20)、GiB(gibibyte、2^30)、TiB(tebibyte、2^40)、PiB(pebibyte、2^50)。実際には、旧ラベルは技術文書以外のあらゆる場所で使われ続けており、多くの OS が一貫していません:macOS はストレージに十進、Windows は混在、Linux ディストリビューションはまちまちです。

このガイドでは、数学、慣習、そして 3 つの信頼できる換算方法を説明します。

正確な公式

十進(SI、ハードドライブメーカー、ネットワーク速度で使用)

``` 1 KB = 1,000 B = 10^3 B 1 MB = 1,000 KB = 1,000,000 B = 10^6 B 1 GB = 1,000 MB = 1,000,000,000 B = 10^9 B 1 TB = 1,000 GB = 1,000,000,000,000 B = 10^12 B 1 PB = 1,000 TB = 10^15 B ```

二進(IEC、RAM、ファイルフォーマット、一部の OS で使用)

``` 1 KiB = 1,024 B = 2^10 B 1 MiB = 1,024 KiB = 1,048,576 B = 2^20 B 1 GiB = 1,024 MiB = 1,073,741,824 B = 2^30 B 1 TiB = 1,024 GiB = 1,099,511,627,776 B = 2^40 B 1 PiB = 1,024 TiB = 2^50 B ```

十進と二進の比は急速に増大します:マーケティング上の「1 TB」は 1,000,000,000,000 バイトですが、OS はフォーマットとオーバーヘッド後に 931 GiB の使用可能領域を表示することがあります。このギャップは容量とともに拡大します ——「1 PB」のドライブは約 0.89 PiB です。

早見表

| バイト | 十進 (SI) | 二進 (IEC) | |---------:|----------------------|--------------------------| | 1,000 | 1 KB | 0.977 KiB | | 1,024 | 1.024 KB | 1 KiB | | 1,000,000| 1 MB | 0.954 MiB | | 1,048,576| 1.049 MB | 1 MiB | | 10^9 | 1 GB | 0.931 GiB | | 2^30 | 1.074 GB | 1 GiB | | 10^12 | 1 TB | 0.909 TiB | | 2^40 | 1.100 TB | 1 TiB | | 10^15 | 1 PB | 0.888 PiB |

方法 1:UtilBoxx データ容量換算ツール(推奨)

B、KB、MB、GB、TB、PB 間で換算する最も速く、安全な方法は UtilBoxx データ容量換算ツール です。十進と二進の両モードをサポートし、精度を選択でき、すべてブラウザ内で動作します。アップロードなし、登録なし、ファイルの記録なし。

使い方:

  1. utilboxx.com/ja/tools/unit/data を開く
  2. 任意のフィールド(B、KB、MB、GB、TB、または PB)に値を入力
  3. 十進(SI)または二進(IEC)モードを選択
  4. 他のフィールドが即座に更新
  5. 結果をコピー

この方法を推奨する理由:

  • 100% 無料、登録不要、メールアドレス不要、広告なし
  • プライバシー最優先:ブラウザから出ない
  • 十進と二進モードをワンクリックで切替
  • 6 つの単位を双方向換算
  • 高精度 —— 浮動小数点の四捨五入に驚かされない
  • ブラウザがあるあらゆるデバイスで動作

ファイルサイズ、ドライブ容量、メモリ容量を頻繁に引用するなら、このツールは 1024 vs 1000 の同じ間違いを繰り返すのを防いでくれます。

方法 2:macOS Finder(および他の OS のファイルマネージャ)

特定のファイルの正確なバイト数を知るだけなら、OS のファイルマネージャが十進で完全な精度の答えをくれます。

macOS Finder で:

  1. ファイルを右クリックして情報を見る(または Cmd+I)
  2. サイズが十進単位(KB、MB、GB)で表示される
  3. サイズフィールドをクリックして、バイト、KB、MB、GB を切り替え
  4. 正確なバイト数は括弧内に表示される

Windows ファイルエクスプローラーで:

  1. ファイルを右クリックしてプロパティを選択
  2. サイズが KB、MB、または GB で表示される(Windows のバージョンにより二進と十進が混在)
  3. 正確なバイト数を得るには、Windows が二進 KB を報告している場合 1,024 で割る;最新の Windows 10/11 は実は一部のダイアログでは二進、他では十進で報告する

Linux で:

  1. `ls -l file` は正確なバイト数を表示
  2. `ls -lh file` は人間が読めるサイズを表示(ほとんどのディストロはデフォルトで二進;一部は十進 —— `alias ls` を確認)

この方法は特定のファイルやフォルダのサイズを知りたいときに最適ですが、バッチ換算や単位間の計算には役立ちません。

方法 3:Python(または任意の言語)

プログラムでの換算には、わずかな行の Python で 6 つの単位すべてをカバーできます。`bit_length()` メソッドは整数を表現するのに必要なビット数を返します —— バッファサイズ決定時に便利です。

```python # 十進 (SI) 換算 def to_bytes(value, unit): units = {"B": 1, "KB": 1e3, "MB": 1e6, "GB": 1e9, "TB": 1e12, "PB": 1e15} return value * units[unit]

# 二進 (IEC) 換算 def to_bytes_binary(value, unit): units = {"B": 1, "KiB": 210, "MiB": 220, "GiB": 230, "TiB": 240, "PiB": 2*50} return value units[unit]

# 整数の bit_length n = 123456789 print(n.bit_length()) # 27 bits ```

Python REPL のワンライナー:

```python # 1 GiB をバイトに 1024 1024 1024 # 1073741824

# 1 TB を GiB に 1_000_000_000_000 / (2**30) # 931.3225746154785

# 5 PB を TiB に 5 1e15 / (2*40) # 4547.473508864641 ```

JavaScript でも同じ考え方:

```js const GiB = 1024 ** 3; const TB_in_bytes = 1e12; console.log((TB_in_bytes / GiB).toFixed(3)); // 931.323 ```

方法 4:macOS/Linux のコマンドライン

ほとんどのシェルには組み込みの計算機能があり、macOS には大きな数を扱える計算器が付属しています:

```bash # bash で awk を使用 awk 'BEGIN { printf "1 TB in GiB = %.3f\n", 1e12 / (2^30) }' # 1 TB in GiB = 931.323

awk 'BEGIN { printf "1 GiB in bytes = %d\n", 2^30 }' # 1 GiB in bytes = 1073741824

# macOS のみ:units を使用 units "1 TB" "GiB" # 931.32257

# Linux のみ:numfmt は coreutils に組み込まれている numfmt --to=iec --suffix=B 1000000000000 # 931G numfmt --to=si --suffix=B 1073741824 # 1.1G ```

`numfmt` ツールはシェルスクリプトで特に有用です:オプションの単位付きの数字を受け取り再フォーマットし、十進(--si)と二進(--iec)の両方をサポートし、負の数を正しく扱います。

よくある質問

なぜ "1 TB" ドライブが 931 GB と表示されるのか?

ドライブメーカーは十進を使用:1 TB = 1,000,000,000,000 バイト。OS はしばしばこれを二進で表示し、GB と呼びますが実際は GiB です。1,000,000,000,000 バイト ÷ 1,073,741,824 バイト/GiB = 931.32 GiB。「不足」分は十進と二進の差に、フォーマット、パーティションテーブル、ファイルシステムメタデータのオーバーヘッドを加えたものです。

MB は MiB より大きい?

はい。MB は十進(1,000,000 バイト)MiB は二進(1,048,576 バイト)。MiB は MB より約 4.86% 大きいです。同じパターンが KB vs KiB、GB vs GiB、TB vs TiB にも当てはまります。

RAM は二進と十進のどちらを使う?

RAM は販売もアドレスも二進です。「16 GB」のメモリは 16 GiB(17,179,869,184 バイト)で、OS もそう報告します。マーケティング上の「GB」は SI 基準では厳密には不正確ですが、慣習が根深いため誰もメモリを「GiB」と呼び直そうとはしていません。

ネットワーク速度は?

ネットワーク機器は歴史的にビット/秒で十進を使ってきました(1 Mbps = 1,000,000 ビット/秒)。多くの ISP も十進で広告しますが、バイト/秒ビットを混在させて引用するため、「100 Mbps を契約しているのに 12 MB/s しか出ない」という古典的な混乱が生じます。8 で割って(ビット→バイト)、オーバーヘッドを考慮すると、100 Mbps はおおよそ 11-12 MB/s です。計算は合っており、単位が混乱を招いているのです。

KB と KiB はどちらが大きい?

KiB の方が大きいです。1 KiB = 1,024 B1 KB = 1,000 B。KiB(kibibyte)は KB(kilobyte)より 2.4% 大きいです。同じパターン:MiB > MB、GiB > GB、TiB > TB、PiB > PB。

業界がなぜ統一しないのか?

標準レベルでは統一されています。IEC は 1998 年から公式に二進接頭辞(KiB、MiB、GiB)を使用しており、SI 標準も明確に「キロ」は 1,000 であると言っています。しかし二進接頭辞は日常使用で旧ラベルを置き換えられていません。Apple は GB と TB に一貫して十進を使用。Microsoft は RAM は二進、ストレージは十進。Linux ツールは分裂状態。結果として永続的な曖昧さが生じ、ある文脈でどちらの慣習に直面しているかを知ることだけが唯一の解決策です。

まとめ

バイト、キロバイト、メガバイト、ギガバイト、テラバイト、ペタバイトは互換ではなく、十進と二進のギャップは階段を上がるごとに拡大します。公式は単純です —— 十進なら 1,000、二進なら 1,024 で割る —— しかしどれを使うかを覚えるのが難しいところです。

素早く答えを得るには、UtilBoxx データ容量換算ツール がワンクリックで両モード計算します。特定ファイルのサイズを知るには、OS ファイルマネージャが正確なバイト数を示します。バッチやスクリプト作業には、Python の演算または `numfmt` コマンドラインが最強です。迷ったときは末尾の「i」を見てください:KiB、MiB、GiB、TiB、PiB は常に二進を意味します。