Bit means Binary Digit.
Shannon says the binary digit is the most efficient way of encoding
information.
However Skybuck says it might not always be practical
Your hands have ten fingers.
The way people count is:
.. = finger down
| = finger up
- = hand seperator
......-..... = 0
|....-..... = 1
||...-..... = 2
|||..-..... = 3
||||.-..... = 4
|||||-..... = 5
|||||-|.... = 6
|||||-||... = 7
|||||-|||.. = 8
|||||-||||. = 9
|||||-||||| = 10
This numbering is called a decimal digit.
The way computers count is to flip/flop each finger (using as many
combinations as possible):
The number 10 is a special number, which indicates a transfer has taken
place in the positional numbering system.
The way computers count is:
......-..... = 0
|....-..... = 1
..|...-..... = 2
||...-..... = 3
...|..-..... = 4
|.|..-..... = 5
..||..-..... = 6
|||..-..... = 7
....|.-..... = 8
|..|.-..... = 9
..|.|.-..... = 10
||.|.-..... = 11
...||.-..... = 12
|.||.-..... = 13
..|||.-..... = 14
||||.-..... = 15
.....|-..... = 16
|...|-..... = 17
..|..|-..... = 18
||..|-..... = 19
...|.|-..... = 20
|.|.|-..... = 21
..||.|-..... = 22
|||.|-..... = 23
....||-..... = 24
|..||-..... = 25
..|.||-..... = 26
||.||-..... = 27
...|||-..... = 28
|.|||-..... = 29
..||||-..... = 30
|||||-..... = 31
......-|.... = 32
With just one hand a computer can encode 32 different values (including
zero).
For each extra finger the number of values doubles.
Let's see if it's possible to improve on the binary digital numbering
system.
Suppose a finger can have 3 positions instead of two:
.. = finger down
+ = finger half way
| = finger up
......-..... = 0
+....-..... = 1
|....-..... = 2
..+...-..... = 3
++...-..... = 4
|+...-..... = 5
..|...-..... = 6
+|...-..... = 7
||...-..... = 8
...+..-..... = 9
+.+..-..... = 10
|.+..-..... = 11
..++..-..... = 12
+++..-..... = 13
|++..-..... = 14
..|+..-..... = 15
+|+..-..... = 16
||+..-..... = 17
...|..-..... = 18
+.|..-..... = 19
|.|..-..... = 20
..+|..-..... = 21
++|..-..... = 22
|+|..-..... = 23
..||..-..... = 24
+||..-..... = 25
|||..-..... = 26
....+.-..... = 27
+..+.-..... = 28
|..+.-..... = 29
..+.+.-..... = 30
++.+.-..... = 31
|+.+.-..... = 32
..|.+.-..... = 33
+|.+.-..... = 34
||.+.-..... = 35
...++.-..... = 36
+.++.-..... = 37
|.++.-..... = 38
..+++.-..... = 39
++++.-..... = 40
|+++.-..... = 41
..|++.-..... = 42
+|++.-..... = 43
||++.-..... = 44
...|+.-..... = 45
+.|+.-..... = 46
|.|+.-..... = 47
..+|+.-..... = 48
++|+.-..... = 49
|+|+.-..... = 50
..||+.-..... = 51
+||+.-..... = 52
|||+.-..... = 53
Well at this point I am gonna stop since it looks like the tertiary
numbering system is more efficient.
However shannon says no, the binary digit is the most efficient encoding so
there must be a way to encode more efficient.
This would require "repacking" the system above.
You would have to cut off the top of your finger, and keep the bottom and
middle together to be able to alternate.
.. = bottom half
+ = middle half
| = top cut off
Then they can be used as a binary system:
Suppose there were only 3 fingers:
The possibilities become:
.... = 0
+.. = 1
..+. = 2
++. = 3
...+ = 4
+.+ = 5
..++ = 6
+++ = 7
....| = 8
+..| = 9
..+.| = 10
++.| = 11
...+| = 12
+.+| = 13
..++| = 14
+++| = 15
....|| = 16
+..|| = 17
..+.|| = 18
++.|| = 19
...+|| = 20
+.+|| = 21
..++|| = 22
+++|| = 23
....||| = 24
+..||| = 25
..+.||| = 26
++.||| = 27
...+||| = 28
+.+||| = 29
..++||| = 30
+++||| = 31
Let's compare:
The tertiary system had 26 + zero = 27 values for 3 fingers with 3 positions
The binary system had 31 + zero = 32 values for 3 fingers with 2 positions,
and 3 seperated tops.
Now pretend it's possible to make a new finger from the 3 seperated tops.
This would give one new finger.
So there would be four fingers with one extra top.
Now suppose we had 4 fingers to start with, we would have had 4 tops and
that would have given two perfect new fingers for a total of 6 fingers.
So then it's easy to see that with only 4 fingers it's possible to encode
2^6 = 64 different values.
Following this example:
If we cut each finger in three pieces and reattached the top two.
We still have 10 alternating fingers plus 20 spare parts.
If each spare part can be reconnected to the hand we have 30 alternating
fingers.
So we can encode 2^30 = 4294967296 values with a binary system for our
hands/finger bones.
The question now is:
How many times can you divide a finger ?
Or how many different positions can you make with your fingers ?
(I would call this: How many values can you encode per symbol ?)
For example you could bend them slightly...
But then it becomes increasingly difficult for other people to see which
value you are expressing.
For example: it's to difficult to see the rotation in degrees.
For example: the finger has become too small... like a few micrometers.
This introduces errors in the "symbol" encoding.
Now once you have figured out a comfortable encoding per symbol.
A different question is:
How many hands can you transmit per second ?
Or in other words:
How quickly can you move all your fingers at once to make a new number and
how fast can somebody else read this and determine the number, before you
make the next number with your hands.
This is the ammount of "numbers" or "digits" per second.
So I will give you a formula which is maybe more clear to you, instead of
the baud formula:
Skybuck's Formula for Bandwidth: Digits per second * Values per Digit.
I would find the word "symbol" confusing because a digit is visually
represented by a symbol.
Thus for a digit or number to be visualized each value needs it's own
symbol.
For our decimal system:
0 = symbol 0
1 = symbol 1
2 = symbol 2
3 = symbol 3
4 = symbol 4
5 = symbol 5
6 = symbol 6
7 = symbol 7
8 = symbol 8
9 = symbol 9
No more symbols.
Every other decimal number consists out of these digits or symbols
For example:
345345345
So I hope this answers your question a little bit.
To increase bandwidth you can do two things:
Increase digits per second.
or
Increase values per digit.
But because increasing the number of values is kinda the same as increasing
the number of digits per second if values are re-encoded to be binary it's
more or less the same.
So if you decrease one and increase the other you are just shifting bits and
possibly error rates, the total bandwidth stays more or less the same.
It depends how much you increase the one and decrease the other
Bye,
Skybuck.