450 likes | 459 Views
Number Systems and Conversion, Binary Arithmetic, and Representation of Negative Numbers (Lecture #10). ECE 301 – Digital Electronics. 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 301 – Digital Electronics 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 301 - Digital Electronics 52 • What does this number represent? • Consider the “context” in which it is used.
ECE 301 - Digital Electronics 1011001.101 • What is the decimal value of this number? • Consider the base (or radix) of this number.
ECE 301 - Digital Electronics Number Systems
ECE 301 - Digital Electronics 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 301 - Digital Electronics 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 301 - Digital Electronics 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 301 - Digital Electronics Decimal 927.4510 = 9 x 102 + 2 x 101 + 7 x 100 + 4 x 10-1 + 5 x 10-2 Number Systems: Example
ECE 301 - Digital Electronics 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 301 - Digital Electronics Octal 326.478 = 3 x 82 + 2 x 81 + 6 x 80 + 4 x 8-1 + 7 x 8-2 Number Systems: Example
ECE 301 - Digital Electronics Hexadecimal E5A.2B16 = 14 x 162 + 5 x 161 + 10 x 160 + 2 x 16-1 + 11 x 16-2 Number Systems: Example
ECE 301 - Digital Electronics Conversion between Number Systems
ECE 301 - Digital Electronics Use repeated division to convert a decimal integer to any other base. Conversion of a Decimal Integer
ECE 301 - Digital Electronics 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 301 - Digital Electronics Use repeated multiplication to convert a decimal fraction to any other base. Conversion of a Decimal Fraction
ECE 301 - Digital Electronics 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 301 - Digital Electronics 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 301 - Digital Electronics 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 301 - Digital Electronics Example: Convert 48.562510 to binary. Confirm the results using the Power Series Expansion. Conversion of a Mixed Decimal Number
ECE 301 - Digital Electronics 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 301 - Digital Electronics 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 301 - Digital Electronics 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 301 - Digital Electronics Number Systems Base: 10 2 8 16 What is the value of 12?
ECE 301 - Digital Electronics Binary Arithmetic
ECE 301 - Digital Electronics 0 0 1 1 + 0 + 1 + 0 + 1 0 1 1 10 Sum Carry Sum Binary Addition
ECE 301 - Digital Electronics 01011011 + 01110010 10110101 + 01101100 00111100 + 10101010 Binary Addition: Examples
ECE 301 - Digital Electronics Borrow 0 10 1 1 - 0 - 1 - 0 - 1 0 1 1 0 Difference Binary Subtraction
ECE 301 - Digital Electronics 01110101 - 00110010 10110001 - 01101100 00111100 - 10101100 Binary Subtraction: Examples
ECE 301 - Digital Electronics Single-bit Addition Single-bit Subtraction What logic function is this? What logic function is this? Binary Arithmetic
ECE 301 - Digital Electronics 0 0 1 1 x 0 x 1 x 0 x 1 0 0 0 1 Product Binary Multiplication
ECE 301 - Digital Electronics 1011 x 0110 0110 x 1010 1001 x 1101 Binary Multiplication: Examples
ECE 301 - Digital Electronics Representation of Negative Numbers
ECE 301 - Digital Electronics 10011010 • What is the decimal value of this number? • Is it positive or negative? • If negative, what representation are we using?
ECE 301 - Digital Electronics 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 301 - Digital Electronics 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 301 - Digital Electronics 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 301 - Digital Electronics 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 301 - Digital Electronics Representations for signed binary numbers: 1. Sign and Magnitude 2. 1's Complement 3. 2's Complement Signed Binary Numbers
ECE 301 - Digital Electronics 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 301 - Digital Electronics What is the Sign and Magnitude representation for the following decimal values, using 8 bits? + 97 - 68 - 97 + 68 Sign and Magnitude: Example
ECE 301 - Digital Electronics Can the following decimal numbers be represented using 8-bit Sign and Magnitude representation? - 212 - 127 +128 +255 Sign and Magnitude: Example
ECE 301 - Digital Electronics Questions?