420 likes | 429 Views
Explore number systems, binary arithmetic, and negative numbers representation in digital system design, with examples and conversion methods discussed in the lecture slides.
E N D
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.
ECE 331 - Digital System Design 52 • What does this number represent? • Consider the “context” within which the number is used.
ECE 331 - Digital System Design 1011001.101 • What is the value of this number? • Consider the base (or radix) of the number.
ECE 331 - Digital System Design Number Systems
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]
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
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
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
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 • = ?
ECE 331 - Digital System Design Number Systems
ECE 331 - Digital System Design Conversion
ECE 331 - Digital System Design Use repeated division to convert a decimal integer to any other base. Conversion of a Decimal Integer
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
ECE 331 - Digital System Design Use repeated multiplication to convert a decimal fraction to any other base. Conversion of a Decimal Fraction
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
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!
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.
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
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
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?
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.
ECE 331 - Digital System Design Number Systems Base: 10 2 8 16 What is the value of 12?
ECE 331 - Digital System Design Binary Arithmetic
ECE 331 - Digital System Design 0 0 1 1 + 0 + 1 + 0 + 1 0 1 1 10 Sum Carry Sum Binary Addition
ECE 331 - Digital System Design Examples: Binary Addition 01011011 + 01110010 10110101 + 01101100 00111100 + 10101010
ECE 331 - Digital System Design Borrow 0 10 1 1 - 0 - 1 - 0 - 1 0 1 1 0 Difference Binary Subtraction
ECE 331 - Digital System Design Examples: Binary Subtraction 01110101 - 00110010 10110001 - 01101100 00111100 - 10101100
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?
ECE 331 - Digital System Design 0 0 1 1 x 0 x 1 x 0 x 1 0 0 0 1 Product Binary Multiplication
ECE 331 - Digital System Design Examples: Binary Multiplication 1011 x 0110 0110 x 1010 1001 x 1101
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)
ECE 331 - Digital System Design Representation of Negative Numbers
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?
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
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
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
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
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
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.
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
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
ECE 331 - Digital System Design Questions?