1 / 42

ECE 331 – Digital System Design

Number Systems and Conversion, Binary Arithmetic, and Representation of Negative Numbers (Lecture #9). ECE 331 – Digital System Design. The slides included herein were taken from the materials accompanying Fundamentals of Logic Design, 6 th Edition , by Roth and Kinney,

Télécharger la présentation

ECE 331 – Digital System Design

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Number Systems and Conversion, Binary Arithmetic, and Representation of Negative Numbers (Lecture #9) ECE 331 – Digital System Design The slides included herein were taken from the materials accompanying Fundamentals of Logic Design, 6th Edition, by Roth and Kinney, and were used with permission from Cengage Learning.

  2. ECE 331 - Digital System Design 52 • What does this number represent? • Consider the “context” within which the number is used.

  3. ECE 331 - Digital System Design 1011001.101 • What is the value of this number? • Consider the base (or radix) of the number.

  4. ECE 331 - Digital System Design Number Systems

  5. ECE 331 - Digital System Design Number Systems • R is the radix or base of the number system • Must be a positive number • R digits in the number system: [0 .. R-1] • Important number systems for digital systems: • Base 2 (binary): [0, 1] • Base 8 (octal): [0 .. 7] • Base 16 (hexadecimal): [0 .. 9, A, B, C, D, E, F]

  6. ECE 331 - Digital System Design Positional Notation N = [a4a3a2a1a0.a-1a-2a-3]R N = numeric value ai = ith position in the number R = radix or base of the number Number Systems

  7. ECE 331 - Digital System Design Power Series Expansion D = an x R4 + an-1 x R3 + … + a0 x R0 + a-1 x R-1 + a-2 x R-2 + … a-m x R-m D = decimal value ai = ith position in the number R = radix or base of the number Number Systems

  8. ECE 331 - Digital System Design Examples: Number Systems Decimal 953.7810 = 9x102 + 5x101 + 3x100 + 7x10-1 + 8x10-2 Binary 1011.112 = 1x23 + 0x22 + 1x21 + 1x20 + 1x2-1 + 1x2-2 = 8 + 0 + 2 + 1 + 1/2 + 1/4 = 11.7510

  9. ECE 331 - Digital System Design Examples: Number Systems Octal 347.218 = 3x82 + 4x81 + 7x80 + 2x8-1 + 1x8-2 = ? Hexadecimal E61A.D716 = 14x163 + 6x162 + 1x161 + 10x160 + 13x16-1 + 7x16-2 • = ?

  10. ECE 331 - Digital System Design Number Systems

  11. ECE 331 - Digital System Design Conversion

  12. ECE 331 - Digital System Design Use repeated division to convert a decimal integer to any other base. Conversion of a Decimal Integer

  13. ECE 331 - Digital System Design Example: Convert the decimal number 57 to a binary (R=2) number and an octal (R=8) number. Conversion of a Decimal Integer 57 / 2 = 28: rem = 1 = a0 28 / 2 = 14: rem = 0 = a1 14 / 2 = 7: rem = 0 = a2 7 / 2 = 3: rem = 1 = a3 3 / 2 = 1: rem = 1 = a4 1 / 2 = 0: rem = 1 = a5 5710 = 1110012 57 / 8 = 7: rem = 1 = a0 7 / 8 = 0: rem = 7 = a1 5710 = 718

  14. ECE 331 - Digital System Design Use repeated multiplication to convert a decimal fraction to any other base. Conversion of a Decimal Fraction

  15. ECE 331 - Digital System Design Example: Convert the decimal number 0.625 to a binary (R=2) number and an octal (R=8) number. Conversion of a Decimal Fraction 0.625 * 2 = 1.250: a-1 = 1 0.250 * 2 = 0.500: a-2 = 0 0.500 * 2 = 1.000: a-3 = 1 0.62510 = 0.1012 0.625 * 8 = 5.000: a0 = 5 0.62510 = 0.58

  16. ECE 331 - Digital System Design Example: Convert the decimal number 0.7 to binary. Conversion of a Decimal Fraction 0.7 * 2 = 1.4: a-1 = 1 0.4 * 2 = 0.8: a-2 = 0 0.8 * 2 = 1.6: a-3 = 1 0.6 * 2 = 1.2: a-4 = 1 0.2 * 2 = 0.4: a-5 = 0 0.4 * 2 = 0.8: a-6 = 0 0.710 = 0.1 0110 0110 0110 ...2 In some cases, conversion results in a repeating fraction. process begins repeating here!

  17. ECE 331 - Digital System Design Conversion of a Mixed Decimal Number • Conversion of a mixed decimal number is implemented as follows: • Convert the integer part of the number using repeated division. • Convert the fractional part of the decimal number using repeated multiplication. • Combine the integer and fractional components in the new base.

  18. ECE 331 - Digital System Design Exercise: Convert 48.562510 to binary. Confirm the results using the Power Series Expansion. Conversion of a Mixed Decimal Number

  19. ECE 331 - Digital System Design Conversion • Conversion between any two bases, A and B, can be carried out directly using repeated division and repeated multiplication. • Base A → Base B • However, it is generally easier to convert base A to its decimal equivalent and then convert the decimal value to base B. • Base A → Decimal → Base B Power Series Expansion Repeated Division, Repeated Multiplication

  20. ECE 331 - Digital System Design Conversion • Conversion between binary and octal can be carried out by inspection. • Each octal digit corresponds to 3 bits • 101110010 . 0110012 = 5 6 2 . 3 18 • 010 011 100 . 101 0012 = 2 3 4 . 5 18 • 7 4 5 . 3 28 = 111100101 . 0110102 • 3 0 6 . 0 58 = 011 000 110 . 000 1012 • Is the number 392.248 a valid octal number?

  21. ECE 331 - Digital System Design Conversion • Conversion between binary and hexadecimal can be carried out by inspection. • Each hexadecimal digit corresponds to 4 bits • 100110100110 . 101101012 = 9 A 6 . B 516 • 1100 1011 1000 . 1110 01112 = C B 8 . E 716 • E 9 4 . D 216 = 111010010100 . 110100102 • 1 C 7 . 8 F16 = 0001 1100 0111 . 1000 11112 • Note that the hexadecimal number system requires additional characters to represent its 16 values.

  22. ECE 331 - Digital System Design Number Systems Base: 10 2 8 16 What is the value of 12?

  23. ECE 331 - Digital System Design Binary Arithmetic

  24. ECE 331 - Digital System Design 0 0 1 1 + 0 + 1 + 0 + 1 0 1 1 10 Sum Carry Sum Binary Addition

  25. ECE 331 - Digital System Design Examples: Binary Addition 01011011 + 01110010 10110101 + 01101100 00111100 + 10101010

  26. ECE 331 - Digital System Design Borrow 0 10 1 1 - 0 - 1 - 0 - 1 0 1 1 0 Difference Binary Subtraction

  27. ECE 331 - Digital System Design Examples: Binary Subtraction 01110101 - 00110010 10110001 - 01101100 00111100 - 10101100

  28. ECE 331 - Digital System Design Carry Sum Difference x y c s x y d 0 0 0 0 0 0 0 0 1 0 1 0 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 0 Binary Arithmetic Single-bit Addition Single-bit Subtraction What logic function is this? What logic function is this?

  29. ECE 331 - Digital System Design 0 0 1 1 x 0 x 1 x 0 x 1 0 0 0 1 Product Binary Multiplication

  30. ECE 331 - Digital System Design Examples: Binary Multiplication 1011 x 0110 0110 x 1010 1001 x 1101

  31. ECE 331 - Digital System Design Binary Multiplication When doing binary multiplication, a common way to avoid carries greater than 1 is to add in the partial products one at a time as illustrated by the following example: 1111 multiplicand 1101 multiplier 1111 1st partial product 00000 2nd partial product (01111) sum of first two partial products 111100 3rd partial product (1001011) sum after adding 3rd partial product (pp) 1111000 4th partial product 11000011 final product (sum after adding 4th pp)

  32. ECE 331 - Digital System Design Representation of Negative Numbers

  33. ECE 331 - Digital System Design 10011010 • What is the value of this number? • Is it positive or negative? • If negative, what representation are we using?

  34. b b b n – 1 1 0 Magnitude MSB (a) Unsigned number b b b b n – 1 n – 2 1 0 Magnitude Sign 0 denotes + – MSB 1 denotes (b) Signed number Unsigned and Signed Binary Numbers

  35. ECE 331 - Digital System Design For an n-bit unsigned binary number, all n bits are used to represent the magnitude of the number. ** Cannot represent negative numbers. Unsigned Binary Numbers

  36. ECE 331 - Digital System Design Unsigned Binary Numbers • For an n-bit binary number 0 <= D <= 2n – 1 • where D = decimal equivalent value • For an 8-bit binary number: 0 <= D <= 28 – 1 • 28 = 256 • For a 16-bit binary number: 0 <= D <= 216 – 1 • 216 = 65536

  37. ECE 331 - Digital System Design For an n-bit signed binary number, n-1 bits are used to represent the magnitude of the number; the leftmost bit (MSB) is, generally, used to indicate the sign of the number. 0 = positive number 1 = negative number Signed Binary Numbers

  38. ECE 331 - Digital System Design Three representations for signed binary numbers: 1. Sign and Magnitude 2. 1's Complement 3. 2's Complement Signed Binary Numbers

  39. ECE 331 - Digital System Design Sign and Magnitude • For an n-bit signed binary number, • The MSB (leftmost bit) is the sign bit. • The remaining n-1 bits represent the magnitude. - (2n-1 - 1) <= D <= + (2n-1 – 1) • Includes a representation for -0 and +0. • The design of arithmetic circuits for Sign and Magnitude binary numbers is difficult.

  40. ECE 331 - Digital System Design Example: What is the Sign and Magnitude representation for the following decimal values, using 8 bits: + 97 - 68 Sign and Magnitude

  41. ECE 331 - Digital System Design Example: Can the following decimal numbers be represented using 8-bit Sign and Magnitude representation? - 212 - 127 +128 +255 Sign and Magnitude

  42. ECE 331 - Digital System Design Questions?

More Related