ECEG-3201-DLD-Lec_02_Number System
Transcription
ECEG-3201-DLD-Lec_02_Number System
ECEG-3201 Digital Logic Design Addis Ababa Institute of Technology (AAIT) Department of Electrical and Computer Engineering Learning Outcomes At the end of the lecture, students should get familiarized with: Decimal, Binary, Octal & Hexadecimal systems. Conversion between number systems. Binary Codes. Binary Arithmetic. Negative Numbers. AAIT, Department of Electrical and Computer Engineering 2 Nebyu Yonas Sutri Digital Number Systems Many number systems are used in digital electronics: Decimal number system (base 10). Binary number system (base 2). Octal number system (base 8). Hexadecimal number system (base16). AAIT, Department of Electrical and Computer Engineering 3 Nebyu Yonas Sutri Number Systems AAIT, Department of Electrical and Computer Engineering 4 Nebyu Yonas Sutri Decimal system We use decimal numbers everyday. It is a base-10 system. 10 symbols: 0,1, 2, 3, 4, 5, 6,7, 8, 9. The position of each digit in a decimal number can be assigned a weight. AAIT, Department of Electrical and Computer Engineering 5 Nebyu Yonas Sutri Decimal system Most significant digit (MSD) - the digit that carries the most weight, usually the left most. Least significant digit (LSD) - the digit that carries the least weight, usually the right most. Take example: decimal number 2745.214 Weights 103 102 101 100 2 7 4 5 . 10-1 10-2 10-3 2 1 4 2 103 7 102 4 101 5 100 2 101 1 102 4 103 AAIT, Department of Electrical and Computer Engineering 6 Nebyu Yonas Sutri Binary system Difficult to design a system that works with 10 different voltage levels. Solution is base-2 (binary) system. 2 digits/symbols: 0, 1 Examples: 0, 1, 01, 111, 101010 AAIT, Department of Electrical and Computer Engineering 7 Nebyu Yonas Sutri Binary System The position of each digit (bit) in a binary number can be assigned a weight. For example: 1011.101 1011.101 is a binary number. 1 is a digit, 0 is a digit, 1 is a digit… weights 2-1 2-2 2-3 23 22 21 20 1 0 1 1 . 1 1 LSB MSB AAIT, Department of Electrical and Computer Engineering 0 8 Nebyu Yonas Sutri Binary System (BIT) It takes more digits in the binary system to represent the same value in the decimal system. Examples: 710 = 1112 1010 102 A single binary digit is referred to as a bit. 8 bits make a byte. AAIT, Department of Electrical and Computer Engineering 9 Nebyu Yonas Sutri Binary System (BIT) With N bits we have 2N discrete values. For example, a 4-bit system can represent 24 or 16 discrete values. The largest value is always 2N – 1. For the 4-bit system, 24 – 1 = 1510. The range of values for a 4-bit number is then 0 thru 15. AAIT, Department of Electrical and Computer Engineering 10 Nebyu Yonas Sutri Hexadecimal System Base-16 system. 16 symbols: 10 numeric digits and 6 alphabetic characters. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F Compact way of writing binary system. Widely used in computer and microprocessor applications. AAIT, Department of Electrical and Computer Engineering 11 Nebyu Yonas Sutri Hexadecimal System Examples: 1C16 , A8516 The position of each digit in a hexadecimal number can be assigned a weight. For example: 2AF8.98E Weights AAIT, Department of Electrical and Computer Engineering 163 162 161 160 2 A F 8 12 16-1 16-2 16-3 . 9 8 E Nebyu Yonas Sutri Octal System Base-8 system. 8 digits: 0, 1, 2, 3, 4, 5, 6, 7 Convenient way to express binary numbers and codes. AAIT, Department of Electrical and Computer Engineering 13 Nebyu Yonas Sutri Table of Number Systems DECIMAL BINARY HEXADECIMAL OCTAL 0 0000 0 0 1 0001 1 1 2 0010 2 2 3 0011 3 3 4 0100 4 4 5 0101 5 5 6 0110 6 6 7 0111 7 7 8 1000 8 10 9 1001 9 11 10 1010 A 12 11 1011 B 13 12 1100 C 14 13 1101 D 15 14 1110 E 16 15 1111 F 17 AAIT, Department of Electrical and Computer Engineering 14 Nebyu Yonas Sutri Conversion between Numbers 5 Octal (base 8) 6 9 10 Decimal (base 10) 1 Binary (base 2) 2 7 8 Hexadecimal (base 16) 3 4 AAIT, Department of Electrical and Computer Engineering 15 Nebyu Yonas Sutri 1. Decimal to Binary Method 1: Decimal number binary number Method 2: Decimal whole number binary number. Method: sum-of-weights. Method: division-by-2 Method 3: Decimal fraction binary number Method: multiplication-by-2 AAIT, Department of Electrical and Computer Engineering 16 Nebyu Yonas Sutri Method 1: Sum of Weights Step 1: Find the power of two that fulfills the following: Nearest to the given decimal number; and Its decimal number is less than or equal to the given decimal number. Step 2: Subtract the power of two (from Step 1) from the given decimal number. Step 3: If the result of the subtraction in Step 2 is 0, go to Step 4. Else, repeat Steps 1 and 2 for the result of the subtraction in Step 2. Step 4: Write out the binary number based on all the powers of two from Step 1. AAIT, Department of Electrical and Computer Engineering 17 Nebyu Yonas Sutri Method 1: Sum of Weights Example 1: Convert 2510 to binary Step 1: 22 = 4? No, because it is not the nearest. 23 = 8 is nearer and still less than 25. 24 = 16 is the nearest and its decimal, 16 is less than 25. 25 = 32 No, because its decimal number, 32 is more than 25. Step 2: the result of subtraction 25 – 16 = 9 Step 3: Repeat Step 1: the power of two which is nearest to 9 but less than 9 is 23 = 8 Repeat Step 2: the result of subtraction 9 – 8 = 1 Repeat Step 1: the power of two which is nearest to 1 and equal to 1 is 20 = 1 Repeat Step 2: the result of subtraction 1 – 1 = 0 Step 4: Write out the binary number based on all the powers of two from Step 1. Weights Binary number AAIT, Department of Electrical and Computer Engineering 24 23 22 21 20 1 1 18 0 0 1 Nebyu Yonas Sutri Method 2: Division-by-2 Method 2 is used to convert only whole decimal numbers (no fraction) to binary. Repeat the division of the decimal number with 2 until the quotient is 0. Remainder of each division determine the binary number. First remainder represent the LSB and the last remainder is the MSB. AAIT, Department of Electrical and Computer Engineering 19 Nebyu Yonas Sutri Method 2: Division-by-2 Example 1: Convert 2510 to binary Quotient Remainder 25 12 2 1 12 6 2 LSB 6 3 2 0 3 1 2 1 0 2 AAIT, Department of Electrical and Computer Engineering 0 2510 = 1 MSB 1 1 0 0 1 1 20 Nebyu Yonas Sutri Method 3: Multiplication-by-2 Method 3 is used to convert decimal fraction only to binary. Repeat the multiplication until the fractional part of the product are all zeros. The binary number is determined by the first digit in the multiplication results. AAIT, Department of Electrical and Computer Engineering 21 Nebyu Yonas Sutri Method 3: Multiplication-by-2 Example 2: Convert 0.3125 to binary Carry 0.3125 x 2 = 0.625 0.625 x 2 = 1.25 0 1 0.25 x 2 = 0.50 0 0.50 x 2 = 1.00 1 AAIT, Department of Electrical and Computer Engineering MSB The binary fraction is: . 0 1 0 1 LSB 22 Nebyu Yonas Sutri 2. Binary to Decimal Only one method is used. That is the sum of weight. Example 3: Convert 1011.101 to decimal 2-1 2-2 2-3 23 22 21 20 1 0 1 1 . 1 0 1 =(1x23) + (0x22) + (1x21) + (1x20) + (1x2-1) + (0x2-2) + (1x2-3) = 8 + 0 + 2 + 1 + 0.5 + 0 + 0.125 = 11.62510 AAIT, Department of Electrical and Computer Engineering 23 Nebyu Yonas Sutri 3. Decimal to Hexadecimal Method used is repeated division by-16. Repeat the division of the decimal number with 16 until the quotient is 0. Remainder of each division determine the hex number. First remainder represent the LSB and the last remainder is the MSB. AAIT, Department of Electrical and Computer Engineering 24 Nebyu Yonas Sutri Decimal to Hexadecimal Example 4: Convert 65010 to hex number Quotient Remainder (decimal) Remainder (hexadecimal) 650 40 16 10 40 2 16 8 8 2 0 16 2 2 A LSB MSB 65010 = 2 AAIT, Department of Electrical and Computer Engineering 25 8 A Nebyu Yonas Sutri 4. Hexadecimal to Decimal Only one method is used. That is the sum of weight. Example 5: Convert A8516 to decimal number 162 161 160 A 8 5 = (A x 162) + (8 x 161) + (5 x 160) = (10 x 256) + (8 x 16) + (5 x 1) = 2560 + 128 + 5 = 2693 AAIT, Department of Electrical and Computer Engineering 26 Nebyu Yonas Sutri 5. Decimal to Octal Method used is repeated division by-8. Repeat the division of the decimal number with 8 until the quotient is 0. Remainder of each division determine the oct number. First remainder represent the LSB and the last remainder is the MSB. AAIT, Department of Electrical and Computer Engineering 27 Nebyu Yonas Sutri Decimal to Octal Example 6: Convert 35910 to octal number Quotient Remainder 359 44 8 7 44 5 8 4 5 0 8 5 LSB MSB 35910 = 5 AAIT, Department of Electrical and Computer Engineering 28 4 7 Nebyu Yonas Sutri 6. Octal to Decimal Only one method is used. That is the sum of weight. Example 7: Convert 23748 to decimal number 83 82 81 80 2 3 7 4 = (2 x 83) + (3 x 82) + (7 x 81) + (4 x 80) = (2 x 512) + (3 x 64) + (7 x 8) + (4 x 1) = 1024 + 192 + 56 + 4 = 1276 AAIT, Department of Electrical and Computer Engineering 29 Nebyu Yonas Sutri 7. Binary to Hexadecimal Step 1: Break the binary number into 4-bit groups, starting from LSB. Step 2: Replace each 4-bit with the equivalent hexadecimal number. Example 8: Convert 111111000101101001 to hex number Binary Hexadecimal AAIT, Department of Electrical and Computer Engineering 0011 1111 0001 0110 1001 3 F 1 30 6 9 Nebyu Yonas Sutri 8. Hexadecimal to Binary Step: Replace each digit of the hexadecimal number with the equivalent 4-bit binary number. Example 9: Convert CF8E16 to binary number Hexadecimal Binary AAIT, Department of Electrical and Computer Engineering C F 8 E 1100 1111 1000 1110 31 Nebyu Yonas Sutri 9. Binary to Octal Step 1: Break the binary number into 3-bit groups, starting from LSD. Step 2: Replace each 3-bit group with the equivalent octal number. Example 10: Convert 1011110012 to octal number Binary 101 111 001 Octal 5 7 1 AAIT, Department of Electrical and Computer Engineering 32 Nebyu Yonas Sutri 10. Octal to Binary Step: Replace each digit of the octal number with the equivalent 3-bit binary number. Example 11: Convert 75268 to binary number Octal Binary AAIT, Department of Electrical and Computer Engineering 7 5 2 6 111 101 010 110 33 Nebyu Yonas Sutri Summary of Conversion Division-by-8 Octal (base 8) Sum of weight 3 bit conversion Digit-to-3 bit Decimal (base 10) Division-by-2 Sum of weight Binary (base 2) 4 bit conversion Digit-to-4 bit Division-by-16 Hexadecimal (base 16) Sum of weight AAIT, Department of Electrical and Computer Engineering 34 Nebyu Yonas Sutri Binary Codes Code Special group of symbols that is used to represent numbers, letters or words. Encoding The process of converting a number/letter/word into a code. Number, Letter, Word encoding Code Codes going to be discussed: BCD Code Gray Code ASCII Code AAIT, Department of Electrical and Computer Engineering 35 Nebyu Yonas Sutri BCD Code Binary Coded Decimal Code Binary Coded Decimal (BCD): a way to represent each digit of a decimal number with its 4-bit binary number. Example 12 : Code the decimal number 87410 to a BCD Code Decimal 8 7 4 BCD 1000 0111 0100 Therefore, the BCD code for 87410 is 1000 0111 0100 Do you know why? 1000 1111 is not a BCD AAIT, Department of Electrical and Computer Engineering 36 Nebyu Yonas Sutri BCD Code Convert a equivalent. BCD code to its decimal Step 1: Break the BCD into 4-bit groups, starting from LSB. Step 2: Replace each 4-bit group with its equivalent decimal. Example 13 : Convert the BCD code 0110 1000 0011 1001 to its decimal number. 0110 1000 0011 1001 6 8 3 9 So, the decimal equivalent is 683910 AAIT, Department of Electrical and Computer Engineering 37 Nebyu Yonas Sutri BCD coding vs. Straight Binary coding BCD coding is easier and straight forward. Example 14 : Convert the decimal number 137. Decimal Binary 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 1 0001 3 0011 7 0111 The BCD code is 0001 0011 0111 AAIT, Department of Electrical and Computer Engineering 137 2 68 2 34 2 = 68 1 = 34 0 = 17 0 17 2 8 2 =8 1 =4 0 4 2 =2 0 2 2 1 2 =1 0 =0 1 The straight binary code is 10001001 38 Nebyu Yonas Sutri Gray Code No weights assigned to the bit positions. Only a single bit change from one code word to the next in sequence. Good minimize the chance for error. AAIT, Department of Electrical and Computer Engineering 39 DECIMAL BINARY GRAY CODE 0 0000 0000 1 0001 0001 2 0010 0011 3 0011 0010 4 0100 0110 5 0101 0111 6 0110 0101 7 0111 0100 8 1000 1100 9 1001 1101 10 1010 1111 11 1011 1110 12 1100 1010 13 1101 1011 14 1110 1001 15 1111 1000 Nebyu Yonas Sutri Binary to Gray code Conversion Conversion from binary code to gray code conversion is important. Step 1: The most significant bit (left most) in the gray code is same as the corresponding MSB in the binary number. Step 2: going from left to right, add each adjacent pair of binary code bits to get the next gray code bit. Discard caries. AAIT, Department of Electrical and Computer Engineering 40 Nebyu Yonas Sutri Gray code to Binary Conversion Conversion from gray code to binary code is carried as; Step 1: The most significant bit (left most) in the binary code is same as the corresponding bit in the gray code. Step 2: Add each binary code bit generated to the gray code bit in the next adjacent position. Discard caries. AAIT, Department of Electrical and Computer Engineering 41 Nebyu Yonas Sutri Alphanumeric Codes Codes that represent numbers and alphabetic characters (letters). At minimum, the code must represent 10 decimal digits (0-9) and 26 letters (A-Z). 6 bits are needed in the code that represent the numbers and letters. ASCII is the most common alphanumeric code. AAIT, Department of Electrical and Computer Engineering 42 Nebyu Yonas Sutri ASCII Code American Standard Code for Information Interchange. Used in computers (keyboard and printers) and electronic equipment. 1011001 processor AAIT, Department of Electrical and Computer Engineering 43 Nebyu Yonas Sutri ASCII Code ASCII code has 128 characters and symbols Represented by 7-bit binary code Can be considered an 8-bit code with MSB 0. The first 32 ASCII characters are non-graphic commands only for control purposes - The ASCII Control Characters. E.g.: null, line feed, start of text, escape AAIT, Department of Electrical and Computer Engineering 44 Nebyu Yonas Sutri Binary Arithmetic Binary Addition. Binary Subtraction. Binary Multiplication. Binary Division. AAIT, Department of Electrical and Computer Engineering 45 Nebyu Yonas Sutri Binary Addition Two binary numbers are added by adding each pair of bits together with carry propagation. 0+0=0 0+1=1 1+0=1 1 + 1 = 10 AAIT, Department of Electrical and Computer Engineering with a carry of 0 with a carry of 0 with a carry of 0 with a carry of 1 46 Nebyu Yonas Sutri Binary Addition Example 15: 1 0 0 0 + 1 1 1 1 1 1 1 8 + 7 15 Example 16: Carry + AAIT, Department of Electrical and Computer Engineering 1 1 1 1 1 1 1 1 0 3 + 3 6 47 Nebyu Yonas Sutri Binary Subtraction Two binary numbers are subtracted by subtracting each pair of bits together with borrowing, if needed. 0–0=0 1–1=0 1–0=1 10 – 1 = 1 AAIT, Department of Electrical and Computer Engineering 48 Nebyu Yonas Sutri Binary Subtraction Example 17: 1 0 1 1 1 1 0 5 - 3 2 Example 18: Borrow - 0 1 1 0 1 1 0 1 1 1 0 1 0 0 1 0 0 1 1 0 1 1 0 1 0 1 1 0 0 1 0 1 AAIT, Department of Electrical and Computer Engineering 49 210 - 109 101 Nebyu Yonas Sutri Binary Multiplication The procedure multiplication is same as decimal 0x0=0 0x1=0 1x0=0 1x1=1 AAIT, Department of Electrical and Computer Engineering 50 Nebyu Yonas Sutri Binary Multiplication Example 19: x 1 1 0 1 0 0 AAIT, Department of Electrical and Computer Engineering 1 1 1 0 1 0 0 1 1 1 0 1 1 5 x 7 35 1 1 51 Nebyu Yonas Sutri Binary Division Step 1. Align the divisor (Y) with the most significant end of the dividend. Let the portion of the dividend from its MSB to its bit aligned with the LSB of the divisor be denoted X. Step 2. Compare X and Y. a) If X >= Y, the quotient bit is 1 and perform the subtraction X-Y. b) If X < Y, the quotient bit is 0 and do not perform any subtractions. Step 3. Shift Y one bit to the right and go to step 2. AAIT, Department of Electrical and Computer Engineering 52 Nebyu Yonas Sutri Binary Division Example 20: AAIT, Department of Electrical and Computer Engineering 1 0 1 1 1 1 0 1 1 0 53 3 2 6 6 0 Nebyu Yonas Sutri Negative Numbers Computer must be handle both positive and negative numbers. A signed binary number consists of both sign and magnitude information. 3 types of representation: Sign and magnitude (least used). 1’s complement. 2’s complement (most important). AAIT, Department of Electrical and Computer Engineering 54 Nebyu Yonas Sutri Sign and Magnitude The sign bit, i.e. the left-most bit in a signed binary number. A ‘0’ sign bit indicates a positive number. A ‘1’ sign bit indicates a negative number. The remaining bits are the magnitude bits. AAIT, Department of Electrical and Computer Engineering 55 Nebyu Yonas Sutri Sign and Magnitude Example 21 : Express the decimal number -39 as an 8-bit number in the sign-magnitude. First: Convert 3910 to binary =1001112 Second: Add a zero to as the 7th bit = 01001112 Since the decimal is a negative number, the sign bit is 1. Therefore, -3910=101001112 AAIT, Department of Electrical and Computer Engineering 56 Nebyu Yonas Sutri Sign and Magnitude -7 -6 -5 1111 1110 +0 +1 0000 0001 1101 -4 -3 +2 0010 +3 1100 0011 1011 0100 +4 -2 1010 1001 -1 1000 -0 AAIT, Department of Electrical and Computer Engineering 0111 0101 +5 0110 +6 + 0 100 = + 4 1 100 = - 4 - +7 57 Nebyu Yonas Sutri 1’s Complement To find the 1’s complement of a given binary number, Change all 1s to 0s and all 0s to 1s. Example 22 : Find the 1’s complement of 10110010 1 0 1 1 0 0 1 0 0 1 0 0 1 1 0 1 AAIT, Department of Electrical and Computer Engineering 58 1’s complement Nebyu Yonas Sutri 1’s Complement -0 -1 -2 111 1 111 0 +0 000 0 +1 000 1 110 1 001 0 +2 + -3 110 0 001 1 +3 0 100 = + 4 -4 101 1 010 0 +4 1 011 = - 4 -5 101 0 010 1 100 1 -6 +5 - 011 0 100 0 -7 AAIT, Department of Electrical and Computer Engineering 011 1 +6 +7 59 Nebyu Yonas Sutri 2’s Complement To find the 2’s complement of a given binary number, Add 1 to the LSB of the 1’s complement. Example 23 : Find the 2’s complement of 10110010 1 0 1 1 0 0 1 0 Binary number 0 1 0 0 1 1 0 1 1’s complement + add 1 1 2’s complement 0 1 0 0 1 1 1 0 AAIT, Department of Electrical and Computer Engineering 60 Nebyu Yonas Sutri 2’s Complement -1 -2 -3 111 1 111 0 +0 000 0 +1 000 1 110 1 001 0 110 0 001 1 +3 0 100 = + 4 -5 101 1 010 0 +4 1 100 = - 4 101 0 010 1 100 1 -7 +5 - 011 0 100 0 -8 + -4 -6 +2 011 1 +6 +7 Only one representation for 0. One more negative number than positive number. AAIT, Department of Electrical and Computer Engineering 61 Nebyu Yonas Sutri Comparison Example 24: Express the decimal numbers +19 and -19 as an 8-bit number in the sign-magnitude, 1’s complement and 2’s complement forms. +19 -19 Sign-magnitude 00010011 10010011 1’s complement 00010011 11101100 2’s complement 00010011 11101101 Positive number remain the same AAIT, Department of Electrical and Computer Engineering 62 Nebyu Yonas Sutri Comparison AAIT, Department of Electrical and Computer Engineering 63 Nebyu Yonas Sutri What to do this week? Reading assignment. Digital Design Principles and Practices, John F. Wakerly, Chapter 2, Pages 21 - 74 Digital Fundamentals, Thomas L. Floyd, Chapter 2, Pages 46 – 95. AAIT, Department of Electrical and Computer Engineering 64 Nebyu Yonas Sutri