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のべき乗なのか
コンピュータはすべてを**2進数(0と1)**で扱います。だから容量やアドレスは『2の何乗』という単位で増えていきます。この感覚を持っておくと、データ量の見積もりが暗算でできるようになります。
核心は1つだけ:
2^10 = 1,024 ≒ 1,000。つまり『10ビット増えるごとに約1000倍』
これさえ覚えれば、あとは1000倍ずつ積み上げるだけです。
2のべき乗表
| べき乗 | 正確な値 | 近似 | バイト換算 |
|---|---|---|---|
| 2^7 | 128 | ||
| 2^8 | 256 | (1バイトで表せる数) | |
| 2^10 | 1,024 | 1千(thousand) | 1 KB |
| 2^16 | 65,536 | 64 KB (2バイト) | |
| 2^20 | 1,048,576 | 100万(million) | 1 MB |
| 2^30 | 1,073,741,824 | 10億(billion) | 1 GB |
| 2^32 | 4,294,967,296 | 4 GB | |
| 2^40 | 1,099,511,627,776 | 1兆(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)処理するか』が分かれば、ストレージ・帯域・時間の見積もりがすべて繋がる。