ece 331 – digital system design number systems and conversion, binary arithmetic, and...

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

Upload: beryl-cain

Post on 22-Dec-2015

229 views

Category:

Documents


11 download

TRANSCRIPT

ECE 331 – Digital System Design

Number Systems and Conversion,Binary Arithmetic,

andRepresentation of Negative Numbers

(Lecture #9)

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.

Fall 2010 ECE 331 - Digital System Design 2

52

What does this number represent? Consider the “context” within which the number is used.

Fall 2010 ECE 331 - Digital System Design 3

1011001.101

What is the value of this number? Consider the base (or radix) of the number.

Fall 2010 ECE 331 - Digital System Design 4

Number Systems

Fall 2010 ECE 331 - Digital System Design 5

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]

Fall 2010 ECE 331 - Digital System Design 6

Number Systems

Positional Notation

N = [a4a

3a

2a

1a

0.a

-1a

-2a

-3]

R

N = numeric valueai = ith position in the numberR = radix or base of the number

Fall 2010 ECE 331 - Digital System Design 7

Number Systems

Power Series Expansion

D = an x R4 + a

n-1 x R3 + … + a

0 x R0

+ a-1

x R-1 + a-2 x R-2 + … a

-m x R-m

D = decimal valueai = ith position in the numberR = radix or base of the number

Fall 2010 ECE 331 - Digital System Design 8

Number Systems

Examples:

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

Fall 2010 ECE 331 - Digital System Design 9

Number Systems

Examples:

Octal347.218 = 3x82 + 4x81 + 7x80 + 2x8-1 + 1x8-2 = ?

HexadecimalE61A.D716 = 14x163 + 6x162 + 1x161 + 10x160 + 13x16-1 + 7x16-2

= ?

Fall 2010 ECE 331 - Digital System Design 10

Number Systems

Base Position in Power Series ExpansionR 4 3 2 1 0 -1 -2 -3

Decimal 1010 10000 1000 100 10 1 0.1000 0.0100 0.0010

Binary 22 16 8 4 2 1 0.5000 0.2500 0.1250

Octal 88 4096 512 64 8 1 0.1250 0.0156 0.0020

Hexadecimal 1616 65536 4096 256 16 1 0.0625 0.0039 0.0002

104 103 102 101 100 10-1 10-2 10-3

24 23 22 21 20 2-1 2-2 2-3

84 83 82 81 80 8-1 8-2 8-3

164 163 162 161 160 16-1 16-2 16-3

Fall 2010 ECE 331 - Digital System Design 11

Conversion

Fall 2010 ECE 331 - Digital System Design 12

Use repeated division to convert a decimal integer to any other base.

Conversion of a Decimal Integer

Fall 2010 ECE 331 - Digital System Design 13

Conversion of a Decimal Integer

Example:

Convert the decimal number 57 to a binary (R=2) number and an octal (R=8) number.

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

Fall 2010 ECE 331 - Digital System Design 14

Use repeated multiplication to convert a decimal fraction to any other base.

Conversion of a Decimal Fraction

Fall 2010 ECE 331 - Digital System Design 15

Conversion of a Decimal Fraction

Example:

Convert the decimal number 0.625 to a binary (R=2) number and an octal (R=8) number.

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

Fall 2010 ECE 331 - Digital System Design 16

Conversion of a Decimal Fraction

Example:

Convert the decimal number 0.7 to binary.

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

process begins repeating here!

In some cases, conversion results in a repeating fraction.

Fall 2010 ECE 331 - Digital System Design 17

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.

Fall 2010 ECE 331 - Digital System Design 18

Conversion of a Mixed Decimal Number

Exercise:

Convert 48.562510

to binary.Confirm the results using the Power Series

Expansion.

Fall 2010 ECE 331 - Digital System Design 19

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

Fall 2010 ECE 331 - Digital System Design 20

Conversion

Conversion between binary and octal can be carried out by inspection.

Each octal digit corresponds to 3 bits 101 110 010 . 011 001

2 = 5 6 2 . 3 1

8

010 011 100 . 101 0012 = 2 3 4 . 5 1

8

7 4 5 . 3 28 = 111 100 101 . 011 010

2

3 0 6 . 0 58 = 011 000 110 . 000 101

2

Is the number 392.248 a valid octal number?

Fall 2010 ECE 331 - Digital System Design 21

Conversion

Conversion between binary and hexadecimal can be carried out by inspection.

Each hexadecimal digit corresponds to 4 bits 1001 1010 0110 . 1011 0101

2 = 9 A 6 . B 5

16

1100 1011 1000 . 1110 01112 = C B 8 . E 7

16

E 9 4 . D 216

= 1110 1001 0100 . 1101 00102

1 C 7 . 8 F16

= 0001 1100 0111 . 1000 11112

Note that the hexadecimal number system requires additional characters to represent its 16 values.

Fall 2010 ECE 331 - Digital System Design 22

Number SystemsBase: 10 2 8 16

What is the value of 12?

Fall 2010 ECE 331 - Digital System Design 23

Binary Arithmetic

Fall 2010 ECE 331 - Digital System Design 24

Binary Addition

0 0 1 1+ 0 + 1 + 0 + 1 0 1 1 10

Sum Carry Sum

Fall 2010 ECE 331 - Digital System Design 25

Binary Addition

Examples:

01011011+ 01110010

00111100+ 10101010

10110101+ 01101100

Fall 2010 ECE 331 - Digital System Design 26

Binary Subtraction

0 10 1 1- 0 - 1 - 0 - 1 0 1 1 0

Difference

Borrow

Fall 2010 ECE 331 - Digital System Design 27

Binary Subtraction

Examples:

01110101- 00110010

00111100- 10101100

10110001- 01101100

Fall 2010 ECE 331 - Digital System Design 28

Binary Arithmetic

Single-bit Addition Single-bit Subtraction

s

0

1

1

0

c

0

0

0

1

x y

0

0

1

1

0

1

0

1

Carry Sum

d

0

1

1

0

x y

0

0

1

1

0

1

0

1

Difference

What logic function is this?

What logic function is this?

Fall 2010 ECE 331 - Digital System Design 29

Binary Multiplication

0 0 1 1x 0 x 1 x 0 x 1 0 0 0 1

Product

Fall 2010 ECE 331 - Digital System Design 30

Binary Multiplication

Examples:

0110x 1010

1011x 0110

1001x 1101

Fall 2010 ECE 331 - Digital System Design 31

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 multiplicand1101 multiplier1111 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)

Binary Multiplication

Fall 2010 ECE 331 - Digital System Design 32

Representation of Negative Numbers

Fall 2010 ECE 331 - Digital System Design 33

10011010

What is the value of this number? Is it positive or negative? If negative, what representation are we using?

Fall 2010 34

bn 1– b1 b0

Magnitude

MSB

(a) Unsigned number

bn 1– b1 b0

MagnitudeSign

(b) Signed number

bn 2–

0 denotes1 denotes

+– MSB

Unsigned and Signed Binary Numbers

Fall 2010 ECE 331 - Digital System Design 35

Unsigned Binary Numbers

For an n-bit unsigned binary number, all n bits are used to represent the

magnitude of the number.

** Cannot represent negative numbers.

Fall 2010 ECE 331 - Digital System Design 36

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

Fall 2010 ECE 331 - Digital System Design 37

Signed Binary Numbers

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 number1 = negative number

Fall 2010 ECE 331 - Digital System Design 38

Signed Binary Numbers

Three representations for signed binary numbers:

1. Sign and Magnitude2. 1's Complement3. 2's Complement

Fall 2010 ECE 331 - Digital System Design 39

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.

Fall 2010 ECE 331 - Digital System Design 40

Sign and Magnitude

Example:

What is the Sign and Magnitude representation for the following decimal values, using 8 bits:

+ 97- 68

Fall 2010 ECE 331 - Digital System Design 41

Sign and Magnitude

Example:

Can the following decimal numbers be represented using 8-bit Sign and Magnitude representation?

- 212 - 127+128+255

Fall 2010 ECE 331 - Digital System Design 42

Questions?