3IntroductionIn the coding, when numbers, letters or words are represented by a specific group of symbols, it is said that the number, letter or word is being encoded. The group of symbols is called as a code.The digital data is represented, stored and transmitted as group of binary bits. This group is also called as binary code.The binary code is represented by the number as well as alphanumeric letter.
4Advantages of Binary Code Following is the list of advantages that binary code offers.Binary codes are suitable for the computer applications.Binary codes are suitable for the digital communications.Binary codes make the analysis and designing of digital circuits if we use the binary codes.Since only 0 & 1 are being used, implementation becomes easy.
5Classification of Binary Code The codes are broadly categorized into following four categories:Weighted CodesNon-Weighted CodesBinary Coded Decimal CodeAlphanumeric CodesError Detecting CodesError Correcting Codes
6Weighted CodesWeighted binary codes are those binary codes which obey the positional weight principle. Each position of the number represents a specific weight. Several systems of the codes are used to express the decimal digits 0 through 9. In these codes each decimal digit is represented by a group of four bits.
7Non-Weighted CodesIn this type of binary codes, the positional weights are not assigned. The examples of non-weighted codes are Excess-3 code and Gray code.
8Binary Coded Decimal (BCD) Systems The BCD system is employed by computer systems to encode the decimal number into its equivalent binary number.This is generally accomplished by encoding each digit of the decimal number into its equivalent binary sequence.The main advantage of BCD system is that it is a fast and efficient system to convert the decimal numbers into binary numbers as compared to the pure binary system.
9Binary Coded Decimal (BCD) Systems The 4-bit BCD system is usually employed by the computer systems to represent and process numerical data only. In the 4-bit BCD system, each digit of the decimal number is encoded to its corresponding 4-bit binary sequence. The two most popular 4-bit BCD systems are:Weighted 4-bit BCD codeExcess-3 (XS-3) BCD code
10Weighted 4-Bit BCD Code (8421) The weighted 4-bit BCD code is more commonly known as 8421 weighted code.It is called weighted code because it encodes the decimal system into binary system by using the concept of positional weighting into consideration.In this code, each decimal digit is encoded into its 4-bit binary number in which the bits from left to right have the weights 8, 4, 2, and 1, respectively.
11Weighted 4-Bit BCD CodeDecimal digitsWeighted 4-bit BCD code0000100012001030011401005010160110701118100091001Apart from 8421, some other weighted BCD codes are 4221, 2421 and 5211.
12Weighted 4-Bit BCD CodeRepresent the decimal number 5327 in 8421 BCD code.The corresponding 4-bit 8421 BCD representation of decimal digit 5 is 0101The corresponding 4-bit 8421 BCD representation of decimal digit 3 is 0011The corresponding 4-bit 8421 BCD representation of decimal digit 2 is 0010The corresponding 4-bit 8421 BCD representation of decimal digit 7 is 0111Therefore, the 8421 BCD representation of decimal number 5327 is
13Advantages & Disadvantage of Binary Code Advantages of BCD CodesIt is very similar to decimal system.We need to remember binary equivalent of decimal numbers 0 to 9 only.Disadvantages of BCD CodesThe addition and subtraction of BCD have different rules.The BCD arithmetic is little more complicated.BCD needs more number of bits than binary to represent the decimal number. So BCD is less efficient than binary.
14Excess-3 CodeThe Excess-3 (XS-3) BCD code does not use the principle of positional weights into consideration while converting the decimal numbers to 4-bit BCD system. Therefore, we can say that this code is a non-weighted BCD code.The function of XS-3 code is to transform the decimal numbers into their corresponding 4-bit BCD code.In this code, the decimal number is transformed to the 4-bit BCD code by first adding 3 to all the digits of the number and then converting the excess digits, so obtained, into their corresponding 8421 BCD code. Therefore, we can say that the XS-3 code is strongly related with 8421 BCD code in its functioning.
15Excess-3 CodeThe excess-3 codes are obtained as follows
17Excess-3 Code Convert the decimal number 85 to XS-3 BCD code. Add 3 to each digit of the given decimal number as:8+3=115+3=8The corresponding 4-bit 8421 BCD representation of the decimal digit 11 is 1011.The corresponding 4-bit 8421 BCD representation of the decimal digit 8 is 1000.Therefore, the XS-3 BCD representation of the decimal number 85 is
18The Gray Code Unweighted (not an arithmetic code). Only a single bit change from one code number to the next.Good for error detection.
19The Gray Code000000010100010101110110001000110001000011001101111111101010101110011000000100000011001001100111010101000010001100010000Generating 4-bit standard Gray code.
20Binary-to-Gray Code Conversion Retain most significant bit.From left to right, add each adjacent pair of binary code bits to get the next Gray code bit, discarding carries.Example: Convert binary number to Gray code.(10110)2 = (11101)Gray
22Gray-to-Binary Conversion Retain most significant bit.From left to right, add each binary code bit generated to the Gray code bit in the next position, discarding carries.Example: Convert Gray code to binary.(11011)Gray = (10010)2
24Application of Gray code Gray code is popularly used in the shaft position encoders.A shaft position encoder produces a code word which represents the angular position of the shaft.
25Self-Complementing Codes Examples: excess-3, , 2*421 codes.The codes that represent the pair of complementary digits are complementary of each other.Excess-3 code0: 00111: 01002: 01013: 01104: 01115: 10006: 10017: 10108: 10119: 1100241:758:
26Alphanumeric CodesApart from numbers, computers also handle textual data.Character set frequently used includes:alphabets: ‘A’ .. ‘Z’, and ‘a’ .. ‘z’digits: ‘0’ .. ‘9’special symbols: ‘$’, ‘.’, ‘,’, ‘*’, …non-printable: SOH, NULL, BELL, …Usually, these characters can be represented using 7 or 8 bits.
27Alphanumeric CodesASCII: 7-bit, plus a parity bit for error detection (odd/even parity).
29Error Detection CodesErrors can occur data transmission. They should be detected, so that re-transmission can be requested.With binary numbers, usually single-bit errors occur.Example: 0010 erroneously transmitted as 0011, or 0000, or 0110, or 1010.Biquinary code uses 3 additional bits for error-detection. For single-error detection, one additional bit is needed.
30Error Detection Codes Parity bit. Example: Odd parity. Even parity: additional bit supplied to make total number of ‘1’s even.Odd parity: additional bit supplied to make total number of ‘1’s odd.Example: Odd parity.Parity bits
31Error Detection CodesParity bit can detect odd number of errors but not even number of errors.Example: For odd parity numbers,10011 (detected)10011 (non detected)Parity bits can also beapplied to a block of data:Column-wise parityRow-wise parity
32Error Detection CodesSometimes, it is not enough to do error detection. We may want to do error correction.Error correction is expensive. In practice, we may use only single-bit error correction.Popular technique: Hamming Code.