GB・MB・TBの変換方法(なぜ1TBが931GBになるのか)
新しく買った1TBのSSDをパソコンに挿したら、表示されている容量が「931GB」だった。これは故障でも詐欺でもなく、GBの数え方が2通りあることが原因です。ハードディスクメーカーは1GBを1,000,000,000バイトとして計算する10進数を使い、WindowsやmacOSなどのOSは1GBを1,073,741,824バイトとして計算する2進数を使います。同じ「1TB」でも、どちらの数え方で見るかによって表示される数字が変わるのです。この記事では両方の計算方法と、実際の変換ツールの使い方を説明します。
背景・ルール(簡潔に)
デジタルストレージの単位には、実はまったく違う2つの計算方法が存在します。
ストレージメーカーやインターネット・ネットワークの仕様書は10進数(decimal)で計算します。1 KB = 1000バイト、1 MB = 1000 KB、1 GB = 1000 MB、1 TB = 1000 GBという具合に、きっちり1000刻みで単位が上がっていきます。ハードディスクやSSDのパッケージに書かれている「1TB」「500GB」といった容量表記は、すべてこの10進数で計算されたものです。
一方、OS(Windows、macOS、Linuxのファイルマネージャーなど)やRAMの仕様は2進数(binary)で計算します。1 KB = 1024バイト、1 MB = 1024 KB、1 GB = 1024 MB、1 TB = 1024 GBというように、2の累乗である1024刻みで単位が上がります。コンピューターの内部処理が2進数を基本にしているため、メモリやファイルサイズの表示はこちらの方式になじみます。
2進数の単位を厳密に呼び分けるための正式な用語もあります。KiB、MiB、GiB、TiB(キビバイト、メビバイト、ギビバイト、テビバイトと読みます)がそれで、1024ベースであることを明示するために国際単位系(SI)の外側で定義されました。ただ、一般向けのソフトウェアではこの呼び方はほとんど使われず、Windowsのエクスプローラーが表示する「GB」は、実質的には中身がGiBです。表記上は同じ「GB」でも、メーカーの言うGBとOSが言うGBは別物だと考えるのが正確です。
計算例
言葉で説明するよりも、実際の数字を並べたほうがわかりやすいので、代表的な容量で比較してみます。
| 表記容量(10進数、メーカー) | 正確なバイト数 | OSが表示する値(2進数) |
|---|---|---|
| 500 GB | 500,000,000,000バイト | 465.66 GB |
| 1 TB | 1,000,000,000,000バイト | 931.32 GB |
1TBのドライブを見てみると、正確なバイト数は1,000,000,000,000バイトで、これはメーカーが宣伝している数字とぴったり一致しています。バイトが減っているわけではなく、同じバイト数をOSが2進数の物差しで測り直した結果、931.32 GBという表示になるだけです。500GBのドライブでも同じ理屈で465.66 GBに縮んで見えます。
単位変換そのものの例も見ておきます。
| 変換 | 2進数(1024)の結果 | 10進数(1000)の結果 |
|---|---|---|
| 1 GB → MB | 1024 MB | 1000 MB |
| 4.5 GB → MB | 4608 MB | 4500 MB |
たとえば4.5GBの動画ファイルが何MBになるか知りたいとします。OSのファイルサイズ表示は2進数モードで動いているので、実際にエクスプローラーやFinderで表示される数字は4608 MBです。もし10進数の感覚で4.5 x 1000 = 4500 MBと暗算してしまうと、108MBほどのずれが生じます。動画編集ソフトでファイルサイズの上限ギリギリを狙うようなときは、このずれが意外と効いてきます。
自分の値で変換する
計算式を覚えなくても、下のツールに数値を入れれば、バイトからペタバイトまで6つの単位すべてに瞬時に換算されます。2進数(Binary)と10進数(Decimal)のモードも切り替えられるので、比較したい相手がメーカー表記なのかOS表示なのかに合わせて選んでください。
よくある間違いと特殊なケース
新品のドライブの容量が「足りない」と思い込んでしまう。 買ったばかりの1TBのSSDが931GBとしか表示されないのを見て、不良品だ、あるいは詐欺だと感じる人は少なくありません。しかしこれは単に測定方式の違いであり、実際にデータが失われているわけでも、バイトがどこかに消えているわけでもありません。物理的なバイトはすべてそこに存在しています。
Mb(メガビット)とMB(メガバイト)を取り違える。 インターネット回線の速度は小文字の「b」を使うMb(メガビット)で表記されるのに対し、ファイルサイズは大文字の「B」を使うMB(メガバイト)で表されます。1バイトは8ビットなので、「100Mbps」の回線があっても、理論上の最大転送速度は100MB/sにはならず、8で割った約12.5MB/sほどにしかなりません。ダウンロード速度が思ったより遅く感じるときは、まずこの単位の取り違えを疑ってみる価値があります。
「KB」は常に1024バイトだと思い込む。 厳密なSI(国際単位系)の定義では、KBは1000バイトを意味し、1024バイトを表す正しい用語はKiBです。とはいえ、多くの一般向けソフトウェアが表示する「KB」は、実際にはKiBの中身であることが多く、この食い違いが混乱のもとになっています。
仕様書や比較のときに、どちらのモードを使っているか確認せずに暗算してしまう。 2進数と10進数を同じ比較の中で混ぜてしまうと、微妙にずれた結果になります。ストレージの容量計算やファイルサイズの見積もりをするときは、相手が10進数の表記なのか2進数の表記なのかを最初に確認する癖をつけると、後々の勘違いを防げます。
よくある質問
なぜハードディスクやSSDの容量は表示上の値より少なく見えるのですか? メーカーはストレージ容量を10進数(1GB = 1,000,000,000バイト)で計算して製品に表記しますが、OSは2進数(1GB = 1,073,741,824バイト)で容量を表示します。1TB(1,000,000,000,000バイト)のドライブは、OS上では931.32 GBと表示されますが、これは同じバイト数を違う物差しで測っているだけで、実際の容量が減っているわけではありません。
KBとKiBの違いは何ですか? KB(キロバイト)は厳密には1000バイトを指す10進数の単位です。一方KiB(キビバイト)は1024バイトを指す2進数の単位で、2進数であることを明示するために作られた用語です。多くの一般向けソフトウェアの「KB」表示は、実際にはKiBの計算方法(1024バイト)を使っていることが多く、これが混乱の原因になっています。
2進数と10進数、どちらのモードを使うべきですか? ハードディスクやSSDのカタログ容量、インターネット回線の速度など、メーカーやプロバイダーが公表している数値と比較するときは10進数モードを使います。逆に、WindowsやmacOSがエクスプローラーやFinderで実際に表示しているファイルサイズやドライブの空き容量と照らし合わせたいときは、2進数モードを使うのが正確です。
1GBは何MBですか? 2進数モードでは1 GB = 1024 MBです。10進数モードでは1 GB = 1000 MBになります。同じ「1GB」でも、どちらのモードで計算するかによって100MB弱の差が出るので、比較する相手に合わせてモードを選ぶことが大切です。
なぜ「100Mbps」の回線が100MB/sでダウンロードできないのですか? 「Mbps」の「b」は小文字で、これはビット単位の速度を表します。ファイルサイズで使う「MB」の「B」は大文字でバイト単位です。1バイトは8ビットなので、100Mbpsの回線の理論上の最大転送速度は、100を8で割った約12.5MB/s程度になります。実際の速度はネットワークの状況によってさらに下がることもあります。
1000GBと1TBは同じですか? 10進数の定義で見ると、1 TB = 1000 GBなので、この2つは同じ数値です。ただし、OSが2進数モードでGBを表示している場合、1TB(1,000,000,000,000バイト)は931.32 GBと表示されるため、単純に「1000GB」という表示は出てきません。どちらの単位系で比較しているかを意識すると、この違いに戸惑わずに済みます。