2^(x+y) = 2^x * 2^y
2^10 ~ 1,000
2^20 ~ 1,000,000
2^30 ~ 1,000,000,000
2^40 ~ 1,000,000,000,000
(etc.)
2^1 = 2
2^2 = 4
2^3 = 8
2^4 = 16
2^5 = 32
2^6 = 64
2^7 = 128
2^8 = 256
2^9 = 512
Таким образом, 2 ^ 31 (со знаком int max) составляет 2 ^ 30 (около 1 миллиарда) раз 2 ^ 1 (2), или около 2 миллиардов. И 2 ^ 32 это 2 ^ 30 * 2 ^ 2 или около 4 миллиардов. Этот метод аппроксимации является достаточно точным даже до 2 ^ 64 (где ошибка возрастает до 15%).
Если вам нужен точный ответ, вам следует воспользоваться калькулятором.
Удобные аппроксимации с выравниванием по словам:
- 2 ^ 16 ~ = 64 тысячи // uint16
- 2 ^ 32 ~ = 4 миллиарда // uint32, IPv4, unixtime
- 2 ^ 64 ~ = 16 квинтиллионов (16 миллиардов или 16 миллионов триллионов) // uint64, "bigint"
- 2 ^ 128 ~ = 256 квинтиллионов квинтиллионов (или 256 триллионов триллионов триллионов) // IPv6, GUID