Given the googolplex number and that 1 gigabyte = 1 073 741 824 bytes. How would I calculate the amount of disk space required to store the googolplex number?
|
In the sense of information theory, you just need to store any program that will calculate a googolplex, which can be written in a few hundred bytes. I once saw one on the web, along with a suggestion that it not be run for 567 years. The justification was that by Moore's Law, you shouldn't run any program that takes more than four years to run-you should wait two years for speeds to double and then run it then. The program needed a factor of $2^{283.5}$ to meet that. |
|||||
|
|
Googolplex is $10^{10^{100}}$. Now, the number of bits required to store the number $n$ is $\lg n$ (that is, $\log_2 n$). We have: $\lg 10^{10^{100}}=10^{100}\cdot \lg 10$ A byte contains $8=2^3$ bits, and as you said, a gigabyte contains $2^{30}$ bytes. So a gigabyte contains $2^{33}$ bits. Hence you need $\frac{10^{100}}{2^{33}}\lg 10$ gigabytes overall. This is around $3.867 \times 10^{90}$ gigabytes. Now, of course, there is a much easier way to store googolplex and similar numbers: You can represent them as $a^{b^c}$ with $a,b,c$ small, and only need the bits to store $a,b,c$ and the information of your specific storage method (it's something around 14 bits). You can also represent googolplex by a single bit if you'd like, but then your number-representation algorithm will be rather specific... |
|||||
|
|
If you use the trivial approach to store the number in its binary representation then you have to calculate the length of the number in base 2 to get the amount of bits you need to store it. Then you can convert the number of bits into bytes (1 byte = 8 bit). The amount of bits is equivalent to the number of digits in base 2 which is given by the $D_2$ function I referenced here. So in total: Number of bytes to store $x = D_2(x)/8$ |
||||
|
|