Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

So I don't quite understand Shannons Law. Could somebody maybe give me an example and work it out? I have to do some equations using Shannons Law on a test soon without a calculator. Maybe I don't understand what log(sub2) and such is. Anyway the equation of shannons law is: $$ C = B \cdot \log_{2}(1 + s/n) $$ from my understanding $C =$ amount of data, $B =$ Bandwidth and $s/n =$ Signal to Noise ratio. I appreciate it guys.

NOTE I didn't know what tags to put on this, any help suggestions would be great.

share|cite|improve this question
If $y=\log_2 x$, then it's the same as saying that $2^y=x$... – J. M. Nov 2 '11 at 17:55
If you don't understand what $\log_2$ means or cannot evaluate $\log_2(1 + S/N)$ at $S/N = 1$ without resorting to a calculator, it is going to be difficult to explain Shannon's ideas to you. – Dilip Sarwate Nov 2 '11 at 17:57
So log(sub2) is just an exponent? Also thanks for the tag help. – Howdy_McGee Nov 2 '11 at 17:58
@Howdy_McGee: You might check, under examples the first couple involve $\log_2$. – Ross Millikan Nov 2 '11 at 18:02
Ok, I understand log after doing some research it makes sense. Log is a strange way of writing sub^y. So what ever the sub of log is, is the number that a variable is an exponent of. log(sub2)1000 generally = 10 makes sense. – Howdy_McGee Nov 2 '11 at 18:04
up vote 2 down vote accepted

As J. M. says, $y=\log_2 x$ is the same as $2^y=x$. For a test it will probably help to know the powers of $2$, at least up to $2^{10}=1024$. This tells you that $\log_2 1024=10$

A discussion of the law is at Shannon-Hartley theorem. Intuitively, the bandwidth $B$ says we can transmit $B$ numbers per second. With very high signal to noise ratio we can resolve many levels in each number, so each number can carry many bits. If we can resolve $1024$ levels, we can get $10$ bits per number and carry $10B$ bits per second. If the channel is very noisy, we might need to send bits many times to get them through and the capacity goes down. If the signal to noise goes to zero, nothing should get through, and $\log_2 (1+0)=0$

share|cite|improve this answer
Ok, so if we send 10B per second and have a signal2noise of 10,000/10 we will get C = 10 * log(sub2)(1001) right? This being C = 10 * 9ish or rounded 10 meaning that C = 1000 bits per second? – Howdy_McGee Nov 2 '11 at 18:25
You are right. But it would help to get a better feel for logs. $\log_2 512=9, \log_2 1000$ is very close to $10$ – Ross Millikan Nov 2 '11 at 18:50

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.