Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
وزارة التعليم العالي والبحث العلمي كلية التربية – قسم علوم الحاسوب- جامعة الكوفة Digital Logic Design I Chapter 1 Digital Systems and Numbers System Dr. Wissam Hasan Mahdi Alagele e-mail:[email protected] http://edu-clg.kufauniv.com/staff/Mr.Wesam 1 Outline of Chapter 1 1.1 Digital Systems 1.2 Number System 1.2.1 Decimal Numbers 1.2.2 Binary Numbers 1.2.3 Octal Numbers 1.2.4 Hexadecimal Numbers 1.3 Number-base Conversions 2 Analog and Digital Signal Analog system ◦ The physical quantities or signals may vary continuously over a specified range. Digital system ◦ The physical quantities or signals can assume only discrete values. ◦ Greater accuracy X(t) X(t) t Analog signal t Digital signal 3 Binary Digital Signal An information variable represented by physical quantity. For digital systems, the variable takes on discrete values. ◦ Two level, or binary values are the most prevalent values. Binary values are represented abstractly by: ◦ Digits 0 and 1 ◦ Words (symbols) False (F) and True (T) ◦ Words (symbols) Low (L) and High (H) V(t) ◦ And words On and Off Binary values are represented by values or ranges of values of physical quantities. Logic 1 undefine Logic 0 t Binary digital signal 4 Number System Integers are normally written using positional number system, in which each digit represents the coefficient in a power series 𝑁 = 𝑎𝑛−1 𝑟 𝑛−1 + 𝑎𝑛−2 𝑟 𝑛−2 + ⋯ + 𝑎2 𝑟 2 + 𝑎1 𝑟1 + 𝑎0 Where 𝑛 is the number of digit, 𝑟 is the radix or base and 𝑎𝑖 is the coefficient 0 ≤ 𝑎𝑖 < 𝑟 Ex. 4 3 2 1 0 97142= 9*10 +7 *10 +1 *10 +4*10 +2 *10 There are four systems of arithmetic which are often used in digital circuits. These systems are: decimal: it has a base (𝑟=10) and coefficients (𝑎) are in the range 0 to 9 binary: it has a base (𝑟=2) and coefficients (𝑎) are all either 0 or 1 octal : it has a base (𝑟=8) and coefficients (𝑎) are in the range 0 to 7 Hexadecimal: it has a base (𝑟=16) and coefficients (𝑎) are in the range { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F } 5 Decimal Number System Base (also called radix) = 10 ◦ 10 digits { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 } Digit Position 2 1 ◦ Integer & fraction 5 1 Digit Weight ◦ Weight = (Base) Position 100 10 Magnitude ◦ Sum of “Digit x Weight” 500 10 Formal Notation 0 -1 -2 2 7 4 1 0.1 0.01 2 0.7 0.04 d2*B2+d1*B1+d0*B0+d-1*B-1+d-2*B-2 5 *102+1 *101+2 *100+7 *10-1+4 *10-2 (512.74)10 6 Binary Number System Base = 2 ◦ 2 digits { 0, 1 }, called binary digits or “bits” Weights 4 2 1 1/2 1/4 Position ◦ Weight = (Base) 1 0 1 0 1 Magnitude 2 1 0 -1 -2 ◦ Sum of “Bit x Weight” 2 1 0 -1 -2 1 *2 +0 *2 +1 *2 +0 *2 +1 *2 Formal Notation =(5.25)10 Groups of bits 4 bits = Nibble 8 bits = Byte (101.01)2 1011 11000101 7 Octal Number System Base = 8 ◦ 8 digits { 0, 1, 2, 3, 4, 5, 6, 7 } 64 8 1 1/8 1/64 Weights 5 1 2 7 4 ◦ Weight = (Base) Position Magnitude 2 1 0 -1 -2 2 1 0 -1 ◦ Sum of “Digit x Weight” 5 *8 +1 *8 +2 *8 +7 *8 +4 *8 2 Formal Notation =(330.9375)10 (512.74)8 8 Hexadecimal Number System Base = 16 ◦ 16 digits { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F } Weights 1/16 1/256 256 16 1 ◦ Weight = (Base) Position 1 E 5 7 A Magnitude 2 1 0 -1 -2 ◦ Sum of “Digit x Weight” 1 *162+14 *161+5 *160+7 *16-1+10 *16-2 Formal Notation =(485.4765625)10 (1E5.7A)16 9 Number Base Conversions Evaluate Magnitude Octal (Base 8) Evaluate Magnitude Decimal (Base 10) Binary (Base 2) Evaluate Magnitude Hexadecimal (Base 16) 10 Decimal (Integer) to Binary Conversion Divide the number by the ‘Base’ (=2) Take the remainder (either 0 or 1) as a coefficient Take the quotient and repeat the division Example: (13)10 Quotient 13/ 2 = 6/2= 3/2= 1/2= Answer: 6 3 1 0 Remainder 1 0 1 1 Coefficient a0 = 1 a1 = 0 a2 = 1 a3 = 1 (13)10 = (a3 a2 a1 a0)2 = (1101)2 MSB LSB 11 Decimal (Integer) to Binary Conversion 12 Decimal (Fraction) to Binary Conversion Multiply the number by the ‘Base’ (=2) Take the integer (either 0 or 1) as a coefficient Take the resultant fraction and repeat the division Example: (0.625)10 Integer 0.625 * 2 = 0.25 * 2 = 0.5 *2= Answer: 1 0 1 Fraction . . . 25 5 0 Coefficient a-1 = 1 a-2 = 0 a-3 = 1 (0.625)10 = (0.a-1 a-2 a-3)2 = (0.101)2 MSB LSB 13 Decimal to Binary Conversion 14 Table of binary equivalent decimal numbers Decimal Binary Decimal Binary Decimal Binary 1 1 11 1011 21 10101 2 10 12 1100 22 10110 3 11 13 1101 23 10111 4 100 14 1110 24 11000 5 101 15 1111 25 11001 6 110 16 10000 26 11010 7 111 17 10001 27 11011 8 1000 18 10010 28 11100 9 1001 19 10011 29 11101 10 1010 20 10100 30 11110 15 Decimal to Octal Conversion Example: (175)10 Quotient 175 / 8 = 21 / 8 = 2 /8= Remainder 21 2 0 Answer: Coefficient a0 = 7 a1 = 5 a2 = 2 7 5 2 (175)10 = (a2 a1 a0)8 = (257)8 Example: (0.3125)10 Integer 0.3125 * 8 = 0.5 *8= Answer: 2 4 Fraction . . 5 0 Coefficient a-1 = 2 a-2 = 4 (0.3125)10 = (0.a-1 a-2 a-3)8 = (0.24)8 16 Decimal to Hexadecimal Conversion Example: (1983)10 Quotient Remainder 1983 / 16 = 123 123 / 16 = 7 7 / 16 = 0 Answer: 15 11 7 Coefficient a0 = F a1 = B a2 = 7 (1983)10 = (a2 a1 a0)16 = (7BF)16 Example: (0.5625)10 Integer 0.5625 *16 = Answer: Fraction 9 . 0 Coefficient a-1 = 9 (0.5625)10 = (0.a-1 a-2 a-3)16 = (0.9)16 17 Binary − Octal Conversion 8= Each group of 3 bits represents an octal digit 23 Example: Assume Zeros ( 1 0 1 1 0 . 0 1 )2 ( 2 6 . 2 )8 Octal Binary 0 000 1 001 2 010 3 011 4 100 5 101 6 110 7 111 Works both ways (Binary to Octal & Octal to Binary) 18 Binary − Hexadecimal Conversion 16 = 24 Each group of 4 bits represents a hexadecimal digit Example: Assume Zeros ( 1 0 1 1 0 . 0 1 )2 (1 6 . 4 )16 Hex Binary 0 1 2 3 4 5 6 7 8 9 A B C D E F 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 Works both ways (Binary to Hex & Hex to Binary) 19 Octal − Hexadecimal Conversion Convert to Binary as an intermediate step Example: ( 2 6 . 2 )8 Assume Zeros Assume Zeros ( 0 1 0 1 1 0 . 0 1 0 )2 (1 6 . 4 )16 Works both ways (Octal to Hex & Hex to Octal) 20 Decimal, Binary, Octal and Hexadecimal Decimal Binary Octal Hex 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 00 01 02 03 04 05 06 07 10 11 12 13 14 15 16 17 0 1 2 3 4 5 6 7 8 9 A B C D E F 21 Tutorial Problems Find the decimal equivalents of the following binary numbers: (a) (101)2 (b) (1001)2 (c) (10.011)2 [(a) (5)10 (b) (9)10 (c) (3.0375)10] What are the decimal equivalents of the following binary numbers ? (a) (1111)2 (b) (10100)2 (c) (11011001)2 (d) (10011001)2 [(a) (15)10 (b) (20)10 (c) (109)10 (d) (153)10] Express the following binary numbers into their equivalent decimal numbers : (a) (11.01)2 (b) (101.11)2 (c) (110.01)2 [(a) (3.25)10 (b) (5.75)10 (c) (6.25)10] Convert the following decimal numbers into their binary equivalents: (a) (25)10 (b) (125)10 (c) (0.85)10 [ (a) (11001)2 (b) (1111101)2 (c) (0.110110)2] What are the binary equivalents of the following decimal numbers ? (a) (27)10 (b) (92)10 (c) (64)10 [(a) (11011)2 (b) (1011100)2 (c) (1000000)2] Convert the following real numbers to the binary numbers: (i) (12.0)10 (ii) (25.0)10 (iii) (0.125)10 [(i) (1100)2 (ii) (11001)2 (iii) (0.001)2] 22 Tutorial Problems Convert the following numbers : (a) (35)8 to decimal (b) (6421)8 to decimal (c) (1359)10 to octal (d) (7777)10 to octal [(a) (239)10 (b) (3345)10 (c) (2517)8 (d) (17141)8] 23 Addition Decimal Addition 1 + 1 1 Carry 5 5 5 5 1 0 = Ten ≥ Base Subtract a Base 24 Binary Addition Column Addition 1 1 1 1 1 1 Carry 1 1 1 1 0 1 = 61 1 0 1 1 1 = 23 1 0 1 0 1 0 0 = 84 + Decimal Binary 1 1 2 10 0 + 0=0 0 + 1=1 3 11 1 + 0=1 1 + 1=0 with a carry of 1 or =10 ≥ (2)10 25 Binary Subtraction Borrow a “Base” when needed 1 2 0 2 2 0 0 2 − = (10)2 1 0 0 1 1 0 1 = 77 1 0 1 1 1 = 23 0 1 1 0 1 1 0 = 54 26 Binary Multiplication Bit by bit 1 0 1 1 1 x 1 0 1 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 1 0 1 1 1 1 1 1 0 0 1 1 0 27 1.5 Complements There are two types of complements for each base-r system: the radix complement and diminished radix complement. Diminished Radix Complement - (r-1)’s Complement ◦ Given a number N in base r having n digits, the (r–1)’s complement of N is defined as: (rn –1) – N Example for 6-digit decimal numbers: ◦ 9’s complement is (rn – 1)–N = (106–1)–N = 999999–N ◦ 9’s complement of 546700 is 999999–546700 = 453299 Example for 7-digit binary numbers: ◦ 1’s complement is (rn – 1) – N = (27–1)–N = 1111111–N ◦ 1’s complement of 1011000 is 1111111–1011000 = 0100111 Observation: ◦ Subtraction from (rn – 1) will never require a borrow ◦ Diminished radix complement can be computed digit-by-digit ◦ For binary: 1 – 0 = 1 and 1 – 1 = 0 28 Complements 1’s Complement (Diminished Radix Complement) ◦ All ‘0’s become ‘1’s ◦ All ‘1’s become ‘0’s Example (10110000)2 (01001111)2 If you add a number and its 1’s complement … 10110000 + 01001111 11111111 29 Complements Radix Complement The r's complement of an n-digit number N in base r is defined as rn – N for N ≠ 0 and as 0 for N = 0. Comparing with the (r 1) 's complement, we note that the r's complement is obtained by adding 1 to the (r 1) 's complement, since rn – N = [(rn 1) – N] + 1. Example: Base-10 The 10's complement of 012398 is 987602 The 10's complement of 246700 is 753300 Example: Base-2 The 2's complement of 1101100 is 0010100 The 2's complement of 0110111 is 1001001 30 Complements OR 2’s Complement (Radix Complement) ◦ Take 1’s complement then add 1 ◦ Toggle all bits to the left of the first ‘1’ from the right Example: Number: 1 0 1 1 0 0 0 0 OR 1 0 1 1 0 0 0 0 1’s Comp.: 01001111 + 1 01010000 0 1 01 0 0 0 0 31 Complements In digital work, both types of complements of a binary number are used for complemental subtraction : as follows: • 1’s Complemental Subtraction 1. compute the 1’s complement of the subtrahend by changing all its 1s to 0s and all its 0s to 1s. 2. add this complement to the minuend 3. perform the end-around carry of the last 1 or 0 Suppose we want to subtract (101)2 from (111)2 . 111 010 1001 + 1 010 ← 1’s complement of subtrahend (101)2 ← end-around carry As seen, we have removed from the addition sum the 1 carry in the last position and added it onto the remainder. It is called end-around carry. 32 Complements 4. if there is no end-around carry (i.e. 0 carry), then the answer must be re-complemented and a negative sign attached to it. Example. Subtract (1101)2 from (1010)2 . 1 1010 + 0010 1100 - 0011 ← 1’s complement of subtrahend (1101)2 ← no end-around carry re-complementing with negative sign 33 Complements • 2’s Complemental Subtraction In this case, the procedure is as under : 1.find the 2’s complement of the subtrahend, 2.add this complement to the minuend, 3.drop the final carry, 4.if the carry is 1, the answer is positive and needs no re-complementing, 5.if there is no carry, re-complement the answer and attach minus sign. Example. Using 2’s complement, subtract: (A) (1010)2 from (1101)2 , (B) (1101)2 from (1010)2. Solution. The 1’s complement of 1010 is 0101.The 2’s complement is 0101 + 1 = 0110. We will add it to 1101. 1101 + 0110 ← 2’s complement of (1010)2 10011 DROP 0011 ← The final answer is (0011)2 . 34 Complements Example Given the two binary numbers X = 1010100 and Y = 1000011, perform the subtraction (a) X – Y ; and (b) Y X, by using 2's complement. D Drop final cary There is no end carry. Therefore, the answer is Y – X = (2's complement of 1101111) = 0010001. 35 Complements Example ◦ Repeat Example, but this time using 1's complement. There is no end carry, Therefore, the answer is Y – X = (1's complement of 1101110) = 0010001. 36 Digital Coding In digital logic circuits, each number or piece of information is defined by an equivalent combination of binary digits. A complete group of these combinations which represents numbers, letters or symbols is called a digital code Codes have been used for security reasons so that others may not be able to read the message even if it is intercepted. The choice of a code depends on the function or purpose it has to serve. There are many types of coding Binary codes BCD code Gray code ASCII code Binary Codes • BCD Code It is a binary code in which each decimal digit is represented by a group of four bits. it is also called an 8421 code. The 8 4 2 1 indicates the binary weights of the four bits (2 3 , 2 2 , 2 1 , 2 0 ). ◦ A number with N decimal digits will require 4N bits in BCD. ◦ Decimal 396 is represented in BCD with 12bits as 0011 1001 0110, with each group of 4 bits representing one decimal digit. ◦ A decimal number in BCD is the same as its equivalent binary number only when the number is between 0 and 9. Binary Code Example: ◦ Consider decimal 185 and its corresponding value in BCD and binary: Other Decimal Codes Binary Codes) Gray Code ◦ The advantage is that only bit in the code group changes in going from one number to the next. Error detection. Representation of analog data. Low power design. 000 010 001 011 101 100 110 111 ASCII Character Codes A popular code used to represent information sent as characterbased data. The ASCII code is a seven-bit code, and so it has 27 (=128) possible code groups. This is more than enough to represent all of the standard keyboard characters.