バイト換算(KB/MB/GB ⇄ KiB/MiB/GiB)

数値と単位を入力するだけでB/KB/MB/GB/TB(10進)とKiB/MiB/GiB/TiB(2進)、bitへ一括換算。1TBが931GiBに見える理由も解説し、BigIntで大きな数値でも精度を保って計算。

B(バイト)
-
bit(ビット)
-
接頭辞10進(SI・1000単位)2進(IEC・1024単位)
キロ--
メガ--
ギガ--
テラ--

2進の KiB/MiB/GiB/TiB は IEC 60027-2 で定義された単位です。ストレージ製品の「1TB」は10進で1,000,000,000,000バイトを指すことが多く、OSが2進基準で容量表示すると約931GiBと表示されます(1TB ÷ 1024^4 ≒ 0.9095TiB × 1024 ≒ 931.3GiB)。

使い方

  1. 数値を入力し、単位(B・KB・MB・GB・TB・KiB・MiB・GiB・TiB・bit)をセレクトから選ぶ。
  2. 入力と同時に、全単位への換算結果と、10進・2進を並べた比較表が更新される。
  3. 小数(例: 1.5GB)も入力できる。内部では BigInt を使った固定小数点演算で計算しているため、丸め誤差が出にくい。

仕組み・計算式

「キロ」「メガ」「ギガ」には2つの定義がある。国際単位系(SI)に基づく10進接頭辞(K=1,000、M=1,000²、G=1,000³、T=1,000⁴)と、コンピュータのメモリ管理に由来する2進接頭辞(Ki=1,024、Mi=1,024²、Gi=1,024³、Ti=1,024⁴)である。後者は国際電気標準会議の規格 IEC 60027-2(およびそれを引用する IEC 80000-13)で「キビ」「メビ」「ギビ」として正式に定義されている。このツールはすべての値を「バイト」を基準に変換し、B を1、KB を1,000、KiB を1,024、bit を1/8として扱う。

浮動小数点数(JavaScript の通常の Number)は2進数で小数を近似するため、大きな値や繰り返し換算で誤差が蓄積することがある。このツールは入力値を「10^18分の1」単位の整数(BigInt)に変換してから掛け算・割り算を行うため、少なくとも小数第18位までの精度を保ったまま計算できる。

現場の落とし穴:ハードディスクやSSDのメーカーは容量表示に10進(SI)の「TB」を使うのに対し、Windows のエクスプローラーなど多くのOSはファイルサイズを2進(IEC)基準で計算しながら表示だけ「TB」「GB」と表記することが多い。そのため「1TB」と書かれたストレージをPCに接続すると、OS上では約0.909TiB(≒931GiB)としか表示されず、「容量が足りない」という問い合わせの定番原因になる。単位が同じ文字列(GB)でも基準が違うことがある、と覚えておくと切り分けが早い。

よくある質問

Q. bit と byte(B)の関係は?

A. 1バイト = 8ビット。ネットワーク回線速度(Mbps など)はビット単位、ファイルサイズはバイト単位で表記されることが多く、混同すると8倍の誤差が出る。

Q. マイナスの値は入力できますか?

A. 入力欄はマイナスも受け付けて符号付きで換算するが、実際のデータ量としては意味を持たない。差分計算などの用途を想定した挙動。

Q. とても大きい数値や小さい数値でも正確ですか?

A. BigInt による整数演算のため桁数が大きくても精度は落ちない。ただし表示は小数第18位で打ち切っている(それ以降は0として扱う)。

関連ツール

最終更新・根拠の確認日: 2026-09-10 · カテゴリ: 開発・データ