SDN
← 概念一覧へ
基礎概念

2のべき乗表

Powers of Two Table

2^10≒1千(1KB)、2^20≒100万(1MB)、2^30≒10億(1GB)、2^40≒1兆(1TB)という対応を覚えておくと、容量やデータ量の概算見積もりが暗算でできるようになる。コンピュータは2進数なので、10ビット増えるごとに約1000倍。

2 のべき乗とデータ量(対数スケール)

縦軸はバイト数の対数軸。指数が 10 増えるごとに約 1000 倍(KB→MB→GB→TB)。

キーポイント
  • 2^10 = 1,024 ≒ 1千 = 1 KB。10ビットで約1000倍、と覚えるのが核心。
  • 2^20 = 約104万 ≒ 100万 = 1 MB。2^30 = 約10.7億 ≒ 10億 = 1 GB。2^40 ≒ 1兆 = 1 TB。
  • 10乗ごとに約1000倍(KB→MB→GB→TB)。これが暗算の土台。
  • 使い道: 『1レコード1KB × 10億件 = 約1TB』のような容量見積もりを暗算できる。
  • 2^7=128、2^8=256(=1バイトで表せる数)、2^16=65,536(=2バイト)も実務でよく出る。
トレードオフ

厳密には2^10=1024で1000ではない(約2.4%の誤差)ため、桁が大きくなると誤差も積み上がる。だが概算見積もりでは『おおよその桁』が分かれば十分なので、1024≒1000と割り切って暗算速度を優先する。正確な容量計算が必要な場面(課金・容量設計の最終確認)では実値を使う、と使い分ける。

なぜ2のべき乗なのか

コンピュータはすべてを**2進数(0と1)**で扱います。だから容量やアドレスは『2の何乗』という単位で増えていきます。この感覚を持っておくと、データ量の見積もりが暗算でできるようになります。

核心は1つだけ:

2^10 = 1,024 ≒ 1,000。つまり『10ビット増えるごとに約1000倍』

これさえ覚えれば、あとは1000倍ずつ積み上げるだけです。

2のべき乗表

べき乗正確な値近似バイト換算
2^7128
2^8256(1バイトで表せる数)
2^101,0241千(thousand)1 KB
2^1665,53664 KB (2バイト)
2^201,048,576100万(million)1 MB
2^301,073,741,82410億(billion)1 GB
2^324,294,967,2964 GB
2^401,099,511,627,7761兆(trillion)1 TB

1000倍の階段として覚える

図を描画中...

10乗上がるごとに『KB → MB → GB → TB』と、ちょうど1000倍ずつ単位が上がっていきます。これが暗算の階段です。

容量見積もりでの使い方(これが本番)

例題: 1レコード1KBのデータが10億件ある。総容量は?

  • 1KB = 2^10 バイト
  • 10億件 ≒ 2^30 件
  • 合計 = 2^10 × 2^30 = 2^40 バイト ≒ 1 TB

指数は掛け算なら足すだけ(2^10 × 2^30 = 2^40)なので暗算できます。『1KB × 10億 = 1TB』とパッと出せると、設計の見積もりが一気に速くなります。

別の例: 画像1枚200KB、ユーザー1000万人が各10枚アップロード。総容量は?

  • 200KB × 10枚 = 2MB/人
  • 1000万人 ≒ 10^7 ≒ 2^23
  • 2MB × 10^7 = 2 × 10^13 バイト ≒ 20 TB

このレベルの暗算が、面接の概算見積もり(Back-of-the-envelope)で武器になります。

つまずきポイント

  • 1024 ≒ 1000 と割り切る。厳密には2^10=1024で2.4%の誤差があるが、概算では無視してよい(桁が分かれば十分)。正確さが要る最終確認では実値を使う。
  • 指数の足し算で暗算する。容量の掛け算は、2のべき乗で考えれば指数の足し算になる。これが暗算の最大のコツ。
  • KB/MB/GB/TBの『次』も同じ法則。2^50≒1 PB(ペタ)。10乗ごとに1000倍は上にも続く。
  • Latency numbers とセットで使う: 『何バイト(powers of two)を、どの速度で(latency numbers)処理するか』が分かれば、ストレージ・帯域・時間の見積もりがすべて繋がる。

関連する概念

この概念で腕試し

関連する 4 問のクイズに挑戦できます。

クイズを解く