There is still a present day use for a five bit, 2 of 5 coding system. Dig out yesterday's mail and look at the bar code printed along the lower edge of an envelope. That's a 2 of 5 code with bit values of 0, 1, 2, 4 and 7! (The "0" bit value could, of course, be a parity bit - I'm not sure now how it is considered. To my way of thinking and training the zero value bit would have been referred to as a parity bit).
Regardless, the decimal to "2 of 5" conversion works like this:
1 = 000112 = 00101
3 = 001104 = 01001
5 = 010106 = 01100
7 = 100018 = 10010
9 = 10100 and (hold onto your hats, sportsfans!)0 = 11000
On the envelope you'll find long bars represent "1" bits and short bars represent "0". Each bar code has a long bar at the beginning and end of the code that is not part of the coding - sort of like a Start and Stop bit, if you will. Between those two long bars are the five bits of each character of the addressees Zip Plus-4 code. Some bar codes include an additional pair of "mystery characters" at the end of the code but before the closing long bar. I suspect this is for further sorting within the Zip Plus-4 destination. So, reading from left to right, mark off the bars in five bar groups. Then decode the characters according to the coding shown above and, voila!, you'll have the destination's zip code! Find some pre-printed Business Reply Mail envelopes to practice on - that will give you some addresses other than your own.
To keep this on a Telecom related theme. Data communications equipment from the 1960s (or probably earlier) used parity bits with each character as an error checking scheme. But character based parity would detect fewer than
50% of the possible errors and could easily CAUSE errors instead of detecting them (that is, an error that changed two or four bits of a character would not be detected by an odd or even parity check!). So why was parity checking such a popular feature of data communications? Was it cheap to implement? Was it just comforting to customers? Or did it actually work pretty well in its day to day application? (The latter is what I think - that it was not perfect but just good enough to be useful until the electronics or computing power came along the make Cyclic Redundancy Checks practical).Thanks!
In the above post I forgot to mention that the last character in the bar code is a mod-10 check digit. That is, add up all the individual digits in the bar code and you should find the result is a multiple of 10 (10, 20,
30... 80 or 90). If the sum is not a mod-10 0 then an error has occurred!(Sorry to use more of your bandwidth with my forgetfulness!)