Is there a way to find the log of very large numbers?
I should like to evaluate $\log_2{256!}$ or other large numbers to find 'bits' of information. For example, I'd need three bits of information to represent the seven days of the week since $\lceil \log_2{7}\rceil = 3$, but my calculator returns an error for large numbers.
By the laws of logarithms
$$ \log_2(256!) = \sum_{i=1}^{256} \log_2(i)$$
This is easily evaluated (albeit not on all calculators).
In Python:
>>> sum(math.log2(i) for i in range(1,257))
1683.9962872242136
If it's about factorials, you can use Stirling's approximation:
$$\ln(N!) \approx N\ln(N) - N$$
Due to the fact that
$$N! \approx \sqrt{2\pi N}\ N^N\ e^{-N}$$
Error Bound
Writing the "whole" Stirling series as
$$\ln(n!)\approx n\ln(n)−n+\frac{1}{2}\ln(2\pi n)+\frac{1}{12n} −\frac{1}{360n^3}+\frac{1}{1260n^5}+\ldots $$
it is known that the error in truncating the series is always the opposite sign and at most the same magnitude as the first omitted term. Due to Robbins, we can bound:
$$\sqrt{2\pi }n^{n+1/2}e^{-n} e^{\frac{1}{12n+1}} < n! < \sqrt{2\pi }n^{n+1/2} e^{−n} e^{1/12n}$$
More on Stirling Series in Base $2$
Let's develop the question of Stirling series when we have a base $2$ for example. The above approximation has to be read this way:
$$log_2(N!) \approx \log_2(\sqrt{2\pi N} N^N\ e^{-N})$$
Due to the fact that we have a non-natural log, it becomes
$$\log_2(N!) \approx \frac{1}{2}\log_2(2\pi N) + N\log_2(N) - N\log_2(e)$$
Hence one has to be very careful with the last term which is not $N$ anymore, but $N\log_2(e)$.
That being said one can proceed with the rest of Stirling series.
See the comments for numerical results.
Beauty Report
$$\color{red}{256\log_2(256) - 256\log_2(e) + \frac{1}{2}\log_2(2\pi\cdot 256) = 1683.9958175971615}$$
a very good accord with numerical evaluation (for example W. Mathematica) which gives $\log_2(256!) = 1683.9962872242145$.
In Emacs, C-x * * 256 ! 2 B N
will readily deliver
1683.99628722
and of course you are free to increase the precision of your calculation. Stuff definitely is fast enough that there isn't much incentive for designing a solution outside of your editor.