3000 = 2^3 * 3 * 5^3
so
3000^1000000000 = 2^3000000000 * 3^1000000000 * 5^3000000000
2^3000000000 by itself is much, much greater than the upper limit of double, 2^2048 (give or take 50 powers).
Doing a little math with logarithms, you can get that in order to represent 3000^1000000000 exactly, you need approximately 3.48 billion decimal digits, or 1.34 GiB. You need exact representations to perform integer arithmetic and not get garbage out.