4. 2 Codes Encoding is required for sending information over long distances unambiguously Information needs to be decoded at the receiving end to get back the original information “Coding is the process of altering the characteristics of information to make it more suitable for intended application”
4. 3 Codes Need to use coding of information for a variety of reasons Increase efficiency of transmission Make data error free Enable receiver to correct information if error occurred Inform the sender if error occurred in the received information Limit the accessibility of information Standardize a universal code
4. 4 Binary coding Use binary digits (0, 1) to code the elements of an information set For example, suppose n is the number of bits in the word to be coded and x is the number of uniquely coded words if n = 1, then x = 2 (0, 1) if n = 2, then x = 4 (00, 01, 10, 11) if n = 3, then x = 8 (000, 001, 010, … , 111) So, if n = j then x = 2j and n = log2 x = 3.32 log10 x
4. 5 Binary coding There are ten different symbols in the decimal number system 0, 1, 2, .. , 9 We need at least four bits to represent them in binary form 8 -> 1 0 0 0 9 -> 1 0 0 1 With 4 bit groups, we can have 16 four bit groups. As there are 10 digits in decimal notation, number of possible codes, (16 C 10) x (10!) Most of these codes will not have any special properties that would be useful in hardware design
4. 6 Properties Of Codes Some of the desirable properties of codes Ease of coding Ease in arithmetic operations Minimum use of hardware Error detection property Ability to prevent wrong output during transitions
4. 7 Properties Of Codes Some of the most commonly used codes Binary Coded Decimal Codes (BCD Codes) Unit Distance Codes Error Detection Codes Alphanumeric Codes
4. 8 Binary Coded Decimal Codes In a BCD/ Weighted Code, decimal value of a code is the algebraic sum of the weights of 1’s appearing in the number More popularly used codes have the weights as, w3 w2 w1 w0 8 4 2 1 2 4 2 1 8 4 -2 -1
4. 9 Binary Coded Decimal Code (BCD Code) Two desirable properties Self-complementing Codes: Complement of a code number is also its arithmetic complement Example: 2421 code of (4)10 is 0110 Complement of 0110 => 1001 => (5)10 = (9 - 4)10 Reflective Codes: 9’s complement of the code word can be achieved by taking the reflected BCD code Example: Excess-3 is a reflective code 0 -> 0 0 1 1 -> 1 1 0 0 (complement) -> 9 (which is 9’s complement of 0) 5 -> 1 0 0 0 -> 0 1 1 1 (complement) -> 4 (which is 9’s complement of 5)
4. 10 Binary Coded Decimal Code (BCD Code) Only 10 combinations are utilized Remaining 6 combinations are illegal They may be utilized for error detection
4. 11 The Excess-3 code is also called as XS-3 code. It is non-weighted code used to express decimal numbers. The Excess-3 code words are derived from the 8421 BCD code words adding (0011) 2 or (3)10 to each code word in 8421. Excess-3 code
4. 12 Excess-3 code
4. 13 It is the non-weighted code and it is not arithmetic codes. That means there are no specific weights assigned to the bit position. The gray code is called as a unit distance code. The gray code is a cyclic code. Gray code cannot be used for arithmetic operation. Gray Code