COMPLEMENTS AND CODING Complements Complements are used in digital computers for simplifying the substraction operation and for logical manipulation. There are two type of complements for each base –r system (1) The r’s complement (2) The (r-1)’s complement (3) When the base is 2 means binary no. the complements are (i) 2’s comlement • (ii)1’s complement When the base is 10 means decimal no. the complements are (i) 10’s complement (ii) 9’s complement r’s complement • Given a positive number N in base r with an integer part of n digits, the r’s compliment of N is defined as rn – N for N ≠ 0 and 0 for N = 0. Examples • • • • (i)The 10’s complement of (52520)10 is • • • (ii)The 10’s complement of (0.3267)10 is No integer part, so 10n = 100 = 1. 1 – 0.3267 = 0.6733 The number of digits in the number is n = 5. 105 – 52520 = 47480. (iii)The 10’s complement of (25.639)10 is 102 – 25.639 = 74.361. (iv)The 2’s complement of (101100)2 is • 26 – 101100 = (1000000 - 101100)2 = 010100. (v)The 2’s complement of (0.0110)2 is (1 – 0.0110)2 = 0.1010. (r-1)’s complement • Given a positive number N in base r with an integer part of n digits and a fraction part of m digit, the (r-1)’s compliment of N is defined as rn – r − m – N. Examples • • (i)The 9’s complement of (52520)10 is No fractional part, so 10− m = 100 = 1. (105 – 1 – 52520) = 99999 – 52520 = 47479 • • • (ii)The 9’s complement of (0.3267)10 is No integer part, so 10n = 100 = 1 (1 – 10− 4 − 0.3267) = 0.9999 – 0.3267 = 0.6732. • • (iii)The 9’s complement of (25.639)10 is (102 – 10− 3 – 25.639) = 99.999 – 25.639 = 74.360. • • (iv) The 1’s complement of (101100)2 is (26 – 1) – (101100) = (111111 – 101100)2 = 010011. • • (v)The 1’s complement of (0.0110)2 is (1 – 2− 4)10 – (0.0110)2 = (0.1111 – 0.0110)2 = 0.1001. Subtraction with r’s Complement • The subtraction of two positive numbers (M - N), both of base r, may be done follows: 1. Add the minuend M to the r’s complement of the subtrahend N. 2. Insert the result obtained in step 1 for an end carry: (a). If an end carry occurs, discard it. (b). If an end carry does not occur, take the r’s complement of the number obtained in the step 1 and place a negative sign in front. Examples • Question 1: Using 10’s complement, subtract 72532 – 3250. • Solution: M = 72532 N = 03250 72532 + 10’s complement of N = 96750 end carry Answer: 69282 1 96750 69282 Examples • Question 2: Subtract (3250 – 72532)10. . • Solution: M = 03250 N = 72532 03250 + 10’s complement of N = 27468 no carry Answer: - 69282 27468 30718 Examples • Question 3: Use 2’s complement to perform M – N with given binary numbers. . (a). M = 1010100 N = 1000100 1010100 + 2’s complement of N = 0111100 end carry Answer: 10000 1 0111100 0010000 Examples (b). M = 1000100 N = 1010100 2’s complement of N = 0101100 no carry Answer: - 10000 1000100 + 0101100 1110000 Subtraction with (r – 1)’s complement • The subtraction of M – N, both positive numbers in base r, may be calculated in the following in the following manner: 1. Add the minuend M to the (r -1)’s complement of the subtrahend N. 2. Inspect the result obtained in the step 1 for an carry. (a). If an end carry occurs, add 1 to te least significant digit (end-around carry). (b). If an end carry does not occur, take the (r-1)’s complement of the number obtained in step 1 and place a negative sign in front. Examples • Question 1: Using 9’s complement, subtract 72532 – 3250. • Solution: M = 72532 N = 03250 72532 + 9’s complement of N = 96749 end - around carry 96749 1 69281 + Answer: 69282 1 69282 Examples • Question 2: Subtract (3250 – 72532)10. . • Solution: M = 03250 N = 72532 03250 + 9’s complement of N = 27467 no carry Answer: - 69282 27467 30717 Examples • Question 3: Use 1’s complement to perform M – N with given binary numbers. . (a). M = 1010100 N = 1000100 1010100 + 1’s complement of N = 0111011 end - around carry 1 0111011 0010000 + Answer: 10000 1 0010000 Examples (b). M = 1000100 N = 1010100 1’s complement of N = 0101011 no carry Answer: - 10000 1000100 + 0101011 1110000 Binary code • Digital data is represented, stored and transmitted as group of binary bits. • This group is called binary code. • The binary code can be used for represent the number as well as alpha numeric letters. Classification of binary code Binary code Weighted code Binary Ex: 0s1 Non weighted code Reflective code Sequential code Error detecting and correcting code •Example: Gray Excess-3 Five bit BCD •Example: 5211 2421 Excess-3 •Example: 8421 Excess-3 •Example: Hamming Parity • BCD Ex: 8421 2421 5211 4221 Binary code decimal (BCD) • We know that decimal, octal, hexadecimal can be represented by binary digit. • Not only numbers but letters and other symbols can be represented by 1s 0s. • Combination of binary digits that represent all these things are called digital codes. Binary code decimal (BCD) 8421 (BCD) Decimal 0000 0 0001 1 0010 2 0011 3 0100 4 0101 5 0110 6 0111 7 1000 8 1001 9 Gray code • It is called cyclic or reflected code. • In this code each code group does not differ from its neighbour in more than one bit. • This code is used for input and output devices in digital system. Table of gray code Decimal number Gray code 0 0 0 0 0 1 0 0 0 1 2 0 0 1 1 3 0 0 1 0 4 0 1 1 0 5 0 1 1 1 6 0 1 0 1 7 0 1 0 0 8 1 1 0 0 9 1 1 0 1 10 1 1 1 1 11 1 1 1 0 12 1 0 1 0 Conversion from binary to gray code Method: • Write down binary form of the given decimal number. • Write MSB as such. • Then add the binary digit from left to right at the adjacent position. • Discard carry if any. • Write the digit which comes after addition. Conversion from binary to gray code • Example: Convert 15 into gray code. Solution: (15)10 = (1111)2 We have to convert (1111)2 into gray code Left most bit 1 1 + 1 0 + 1 0 + 1 0 Hence the resultant gray code is 1000 for 15. Example – Convert (111011)2 into gray code. Solution: Left most bit 1 1 1. 2. 3. + 1 0 + 1 0 + + + 0 1 1 1 1 0 Write the left most bit as such. Then add the binary digit from left to right at the adjacent position. Write the digit which comes after addition. Hence the grey code of (111011)2 is 100110. Conversion from grey code to binary code • Method: 1. Write the given grey code. 2. Write the left most bit as such. 3. Add this bit to the second left most bit, write the result, discard carry. 4. Add this result to the next left most bit diagonally. Conversion from grey code to binary code • Example: Convert the following grey code into binary code from (1 0 0 0). Solution: We have Left most bit 1 0 + 1 1 + 0 + 1 Hence the corresponding binary number us (1111)2. 0 1