EECE 320 Lecture 2, Fall 2011

American University of Beirut · Digital Systems Design · 21 pages · Prof. Ali Chehab

All EECE 320 files
EECE 320 Lecture 2, Fall 2011, page 1

Stuck on a question? A tutor can walk you through it.

EECE 320 Lecture 2, Fall 2011, page 2 EECE 320 Lecture 2, Fall 2011, page 3 EECE 320 Lecture 2, Fall 2011, page 4 EECE 320 Lecture 2, Fall 2011, page 5 EECE 320 Lecture 2, Fall 2011, page 6 EECE 320 Lecture 2, Fall 2011, page 7 EECE 320 Lecture 2, Fall 2011, page 8 EECE 320 Lecture 2, Fall 2011, page 9 EECE 320 Lecture 2, Fall 2011, page 10

Showing the first 10 of 21 pages. Download the PDF to see all of it.

More EECE 320 files

Show the text of this lab
EECE 320 L2: Number Systems and Codes 1 Chehab, AUB, 2003 EECE 320 Digital Systems Design Lecture 2: Number Systems and Codes Ali Chehab EECE 320 L2: Number Systems and Codes 2 Chehab, AUB, 2003 Number Systems and Codes  A digital designer must establish a correspondence between binary digits and real-life numbers, events and conditions EECE 320 L2: Number Systems and Codes 3 Chehab, AUB, 2003 Positional Number Systems  A number is represented by a string of digits  Each digit has an associated weight  Number = weighted sum of digits  EX1: 534 = 5x100 + 3x10 + 4x1 - The weights are power of 10: 100, 10, 1  EX2: 85.28 = 8x10 + 5x1 + 2x0.1 + 8x0.01 - We have positive and negative powers - This system had a base (radix, r) of 10  General form of a number is: - dp-1dp-2 … d1d0.d-1d-2 … d-n  The vule of the number is: - dp-1 = Most significant digit and d-n = least significant digit       1 2 p n i i i where r d r D EECE 320 L2: Number Systems and Codes 4 Chehab, AUB, 2003 Positional Number Systems  Binary: radix = 2  Used to represent numbers in a digital system  Reliable since only 2 values need to be distinguished  EX: 110.01 = 1x4 + 1x2 + 0x1 + 0x0.5 + 1x0.25 = 6.2510  In general the value is given by:  Octal and Hexadecimal represent a shorthand notation for the binary system • Octal (Base 8): { 0, 1, 2, 3, 4, 5, 6, 7 } – Example: 576 = 6*80 + 7*81 + 5*82 = 38210 • Hexadecimal (Base 16): { 0, …, 9, A, B, C, D, E, F } – Example: A2F = F*160 + 2*161 + A*162 = 15*160 + 2*161 + 10*162 = 260710      1 2 p n i i ib B EECE 320 L2: Number Systems and Codes 5 Chehab, AUB, 2003 General Positional Number System Conversions  To convert a number D to decimal, we convert each digit to radix-10 equivalent and expand the weighted-sum formula using radix-10 arithmetic  EX1: 1CE8.116 = 1x163 + 12x162 + 14x16 + 8x1 + 1x16-1  = 7400.062510  EX2: F1AC16 = ((15x16 + 1)x16 + 10)x16 + 12 = 6186810 EECE 320 L2: Number Systems and Codes 6 Chehab, AUB, 2003 General Positional Number System Conversions  Decimal to Binary: It is done by successive divisions until a zero quotient is obtained. The remainders taken in reverse order constitute the binary representation Example: Convert 46 Decimal into Binary 46 / 2 = 23 and Remainder = 0 23 / 2 = 11 and Remainder = 1 11 / 2 = 5 and Remainder = 1 5 / 2 = 2 and Remainder = 1 2 / 2 = 1 and Remainder = 0 1 / 2 = 0 and Remainder = 1 Result: 4610 = 1011102 EECE 320 L2: Number Systems and Codes 7 Chehab, AUB, 2003 General Positional Number System Conversions  Decimal fraction to binary: It is done by successive multiplications taking out each time the integer part of the result.  Example: convert 0.3125 to binary  0.3125 x 2 = 0.625  0  0.625 x 2 = 1.25  1  0.25 x 2 = 0.5  0  0.5 x 2 = 1  1  0.312510 = 01012 EECE 320 L2: Number Systems and Codes 8 Chehab, AUB, 2003 General Positional Number System Conversions  Binary to Octal: Bits are grouped in “Threes” from right to left, and the binary value of every group represents the corresponding Octal Digit Example: 1 0 0 1 1 1 0 0 1 0 1 2 3 4 5 Result: 100111001012 = 23458 Example: 1 1 0 1 1 1 0 0 1 0 1 1 1 0 3 7 2 E Result: 110111001011102 = 372E16  Binary to Hexadecimal: Similar, but in groups of four. EECE 320 L2: Number Systems and Codes 9 Chehab, AUB, 2003 Addition and Subtraction of Binary Numbers 190 10111110 +141 10001101 331 101001011 229 11100101 - 46 00101110 183 10110111 Cin or Bin X Y Cout S Bout D 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 1 0 0 1 0 1 0 1 1 1 0 0 0 1 0 0 0 1 1 1 1 0 1 1 0 1 0 1 1 0 1 0 0 0 1 1 1 1 1 1 1 EECE 320 L2: Number Systems and Codes 10 Chehab, AUB, 2003 Representation of Negative Numbers  Negative integers can be represented using sign/magnitude, one’s complement or two’s complement notations  Sign and Magnitude: Leftmost bit is used to indicate the sign - 0  positive and 1  negative - Example using 4 bits: +5 = 0 1 0 1 and –5 = 1 1 0 1 - Range: from -7 to +7 (from 1111 to 0111) (-(2N-1-1) to 2N-1-1) - Disadvantages – two representations of 0 (0000, 1000) – The process of addition needs a relatively complex adder EECE 320 L2: Number Systems and Codes 11 Chehab, AUB, 2003 Complements  Complements are used in digital systems to negate a number and to simplify the subtraction operation.  Two types of complements for any base-r system:  Radix complement: called r’s complement  Diminished radix complement: called (r-1)’s complement  In base ten: 10’s complement, 9’s complement  In base 2: 2’s complement, 1’s complement  Diminished radix: Given a number N in base r having n digits, the (r-1)’s complement is defined as follows: EECE 320 L2: Number Systems and Codes 12 Chehab, AUB, 2003 Complements  EX: r=10, what is 10n?  It is a single ‘1’ followed by n 0s. EX: 104 = 1,0000(ten)  EX: r=10, what is 10n - 1?  It is n 9s. 104 -1 = 9999  EX: What is 9’s complement of 546700?  EX: r=2, what is 24? 10000  EX: r=2, what is 24-1? 1111  1’s complement: subtract each digit from 1. But 1-0=1, 1-1=0 => to get 1’s complement of a number, flip all its digits. EECE 320 L2: Number Systems and Codes 13 Chehab, AUB, 2003 Complements  Radix complement: Given a number N in base r having n digits, the r ’s complement is defined as follows:  Since  r’s complement is obtained by taking (r-1)’s complement and adding 1.  EX: 2’s complement of 101100 is  010011 + 1 = 010100  EX: 10’s complement of 012398 is  987601 + 1 = 987602 EECE 320 L2: Number Systems and Codes 14 Chehab, AUB, 2003 Complements  Short cuts:  10’s complement: leave all least significant 0s unchanged, subtract first nonzero least significant digit from 10, and subtract all higher significant digits from 9.  2’s complement: leave all least significant 0s unchanged, leave the first 1 unchanged, flip all other higher significant digits.  What is the r’s complement of the r’s complement of a number? EECE 320 L2: Number Systems and Codes 15 Chehab, AUB, 2003 Representation of Negative Numbers  Two’s Complement: A negative # is represented by complementing each bit of the corresponding positive # and adding 1.  MSB has a weight of -2N-1 instead of 2N-1  A negative number has MSB = 1  Example using 8 bits: +9 = 0 0 0 0 1 0 0 1  -9 = 1 1 1 1 0 1 1 1  Range is from –128 to +127 (10000000 to 01111111)  For N bits, the range is: -(2N-1) to +(2N-1-1)  Overflow and underflow occur when result is outside the range  1 representation of 0. Using 4 bits: 0000  Addition can be easily carried out: A carry will be ignored. - Example: to add –1 and –2 using 4 bits: 1 1 1 1 1 1 1 0 ---------- Ignored 1 1 1 0 1 = -3 EECE 320 L2: Number Systems and Codes 16 Chehab, AUB, 2003 Representation of Negative Numbers +7 +6 +5 +4 +3 +2 +1 +0 -0 -1 -2 -3 -4 -5 -6 -7 -8 EECE 320 L2: Number Systems and Codes 17 Chehab, AUB, 2003 2’s Complement Addition: Overflow  An overflow is said to occur if the result of the addition exceeds the range.  Addition of 2 numbers with different signs cannot produce an overflow  Examples  -3 1101 +5 0101  + -6 1010 + +6 0110  ---- -------- ----- -------  -9 1 0111 = +7 +11 1011 = -5  A simple rule to detect overflow is to check if the sign of the result is different from the sign of the addends. EECE 320 L2: Number Systems and Codes 18 Chehab, AUB, 2003 Subtraction Rules  Most subtraction circuits for 2’s complement numbers do not perform subtraction. Instead, we take the two’s complement of the subtrahend and add the 2 numbers: A – B = A + (-B)  We can complement bit by bit the subtrahend, added to the minuend and add a carry of 1  Examples  1  Cin 1  Cin  +4 0100 0100 +3 0011 0011  - +3 - 0011 + 1100 - +4 - 0100 + 1011  ---- -------- ------ ----- ------- ------  +1 1 0001 -1 1111  We can use the same rules of addition to detect overflow  We can subtract -8 as long as the result does not overflow  (-3) – (-8) = (1101) – (1000) = (1101) + (0111) + 1 = 1 0101 = +5 EECE 320 L2: Number Systems and Codes 19 Chehab, AUB, 2003 Binary Codes for decimal Numbers  Some digital devices process decimal numbers  The interface of a digital system may read or display decimal #s  A decimal number is represented by a string of at least 4 bits EECE 320 L2: Number Systems and Codes 20 Chehab, AUB, 2003 Binary Codes for decimal Numbers  Gray Code  Only 1 bit changes between each pair of consecutive codewords  It is a reflective code - For a 1 bit code  0 and 1 - For (N+1)-bit code, the first 2N are the same of N-bit code with a leading zero - The last 2N codewords are the reverse of N-bit code with a leading 1 EECE 320 L2: Number Systems and Codes 21 Chehab, AUB, 2003 Next Lecture and Reminders  Next lecture  Reminders