420 likes | 525 Views
Number Systems and Conversion, Binary Arithmetic, and Representation of Negative Numbers (Lecture #10). 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,
E N D
Number Systems and Conversion, Binary Arithmetic, and Representation of Negative Numbers (Lecture #10) 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” in which it is used.
ECE 331 - Digital System Design 1011001.101 • What is the decimal value of this number? • Consider the base (or radix) of this 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 .. F]
ECE 331 - Digital System Design Positional Notation [a4a3a2a1a0.a-1a-2a-3]R ai = ith position in the number R = radix or base of the number Number Systems radix point
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 Decimal 927.4510 = 9 x 102 + 2 x 101 + 7 x 100 + 4 x 10-1 + 5 x 10-2 Number Systems: Example
ECE 331 - Digital System Design Binary 1101.1012 = 1 x 23 + 1 x 22 + 0 x 21 + 1 x 20 + 1 x 2-1 + 0 x 2-2 + 1 x 2-3 Number Systems: Example
ECE 331 - Digital System Design Octal 326.478 = 3 x 82 + 2 x 81 + 6 x 80 + 4 x 8-1 + 7 x 8-2 Number Systems: Example
ECE 331 - Digital System Design Hexadecimal E5A.2B16 = 14 x 162 + 5 x 161 + 10 x 160 + 2 x 16-1 + 11 x 16-2 Number Systems: Example
ECE 331 - Digital System Design Conversion between Number Systems
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 binary and to octal: 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 binary and to octal. 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 • Convert the integer part of the decimal number using repeated division. • Convert the fractional part of the decimal number using repeated multiplication. • Combine the integer and fractional parts in the new base.
ECE 331 - Digital System Design Example: 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 between Bases • Conversion between any two bases 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 value → Base B Power Series Expansion Repeated Division, Repeated Multiplication
ECE 331 - Digital System Design Conversion between Bases • 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 between Bases • 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 01011011 + 01110010 10110101 + 01101100 00111100 + 10101010 Binary Addition: Examples
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 01110101 - 00110010 10110001 - 01101100 00111100 - 10101100 Binary Subtraction: Examples
ECE 331 - Digital System Design Single-bit Addition Single-bit Subtraction What logic function is this? What logic function is this? Binary Arithmetic
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 1011 x 0110 0110 x 1010 1001 x 1101 Binary Multiplication: Examples
ECE 331 - Digital System Design Representation of Negative Numbers
ECE 331 - Digital System Design 10011010 • What is the decimal value of this number? • Is it positive or negative? • If negative, what representation are we using?
ECE 331 - Digital System Design b b b n – 1 1 0 Magnitude MSB Unsigned number b b b b n – 1 n – 2 1 0 Magnitude Sign 0 denotes + – MSB 1 denotes 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 is, generally, used to indicate the sign of the number. 0 = positive number 1 = negative number Signed Binary Numbers
ECE 331 - Digital System Design 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 leftmost bit is the sign bit. • The remaining n-1 bits represent the magnitude. • Includes a representation for +0 and -0 - (2n-1 – 1) <= N <= + (2n-1 – 1)
ECE 331 - Digital System Design What is the Sign and Magnitude representation for the following decimal values, using 8 bits? + 97 - 68 - 97 + 68 Sign and Magnitude: Example
ECE 331 - Digital System Design Can the following decimal numbers be represented using 8-bit Sign and Magnitude representation? - 212 - 127 +128 +255 Sign and Magnitude: Example
ECE 331 - Digital System Design Questions?