Transcript

ECE 331 – Digital System Design

Representation of Negative Numbers,Binary Arithmetic of Negative Numbers,

andBinary Codes

(Lecture #11)

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.

Spring 2011 ECE 331 - Digital System Design 2

Representation of Negative Numbers

(continued)

Spring 2011 ECE 331 - Digital System Design 3

Signed Binary Numbers

Representations for signed binary numbers:

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

Spring 2011 ECE 331 - Digital System Design 4

Signed Binary Numbers

Arithmetic circuits are difficult to design for Sign and Magnitude binary numbers.

Consequently, this number system is not typically used in digital (computer) systems.

Instead other number systems, namely the 1's and 2's Complements, are more commonly used.

As we will see, it is rather easy to design arithmetic circuits for binary numbers represented in these number systems.

Spring 2011 ECE 331 - Digital System Design 5

1's Complement

A positive number, N, is represented in the same way as in the Sign and Magnitude representation.

For an n-bit number, The leftmost bit (sign bit) = 0.

Indicating a positive number. The remaining n-1 bits represent the

magnitude.

Spring 2011 ECE 331 - Digital System Design 6

1's Complement

A negative number, -N, is represented by the “1's complement” of the positive number, N.

N' = 1's complement representation for -N. For an n-bit signed binary number,

The leftmost bit (sign bit) = 1 for all negative numbers in the 1's Complement system.

N' = (2n – 1) – N

Spring 2011 ECE 331 - Digital System Design 7

1's Complement: Examples

Using 8 bits, determine the 1's Complement representation for the following negative

numbers:

-15-102

Spring 2011 ECE 331 - Digital System Design 8

1's Complement

The 1's Complement representation for -N can also be determined by taking the bit-wise complement of N.

N' = 1's Complement representation for -N. For an n-bit signed binary number,

i.e. complement N, bit-by-bit

N' = bit-wise complement of N

Spring 2011 ECE 331 - Digital System Design 9

1's Complement: Examples

Using 8 bits, determine the 1's Complement representation for the following negative

numbers:

-15-102

(Use the bit-wise complement)

Spring 2011 ECE 331 - Digital System Design 10

1's Complement

For an n-bit 1's Complement binary number,

Includes a representation for +0 and -0. Represents an equal number of positive and

negative values.

- (2n-1 – 1) <= N <= + (2n-1 – 1)

Spring 2011 ECE 331 - Digital System Design 11

1's Complement

To determine the magnitude of a negative number, -N, that is represented by its 1's Complement, N', simply take the “1's complement” of the 1's Complement.

N = (2n – 1) – N'

N = bit-wise complement of N'orpositive #

1's complement rep.for negative #

Spring 2011 ECE 331 - Digital System Design 12

2's Complement

A positive number, N, is represented in the same way as in the Sign and Magnitude representation.

For an n-bit number, The leftmost bit (sign bit) = 0.

Indicating a positive number. The remaining n-1 bits represent the

magnitude.

Spring 2011 ECE 331 - Digital System Design 13

2's Complement

A negative number, -N, is represented by the “2's complement” of the positive number, N.

N* = 2's complement representation for -N. For an n-bit signed binary number,

The leftmost bit (sign bit) = 1 for all negative numbers in the 2's Complement system.

N* = (2n) – N

Spring 2011 ECE 331 - Digital System Design 14

2's Complement: Examples

Using 8 bits, determine the 2's Complement representation for the following negative

numbers:

-12-95

Spring 2011 ECE 331 - Digital System Design 15

2's Complement

The 1's and 2's Complement representations for a negative number, -N, are related as follows:

N* = (2n) – N

N' = (2n - 1) – N

N* = N' +1

Spring 2011 ECE 331 - Digital System Design 16

2's Complement

Thus, the 2's Complement representation for -N can also be determined by adding 1 to the 1's Complement representation for -N.

N' = 1's Complement representation for -N. N* = 2's Complement representation for -N.

For an n-bit signed binary number,

N* = N' + 1

Spring 2011 ECE 331 - Digital System Design 17

2's Complement: Examples

Using 8 bits, determine the 2's Complement representation for the following negative

numbers:

-12-95

(Use the 1's complement)

Spring 2011 ECE 331 - Digital System Design 18

2's Complement

For an n-bit 2's Complement binary number,

Includes only one representation for 0. Represents an additional negative value.

- (2n-1) <= N <= + (2n-1 – 1)

Spring 2011 ECE 331 - Digital System Design 19

2's Complement

To determine the magnitude of a negative number, -N, that is represented by its 2's Complement, N*, simply take the “2's complement” of the 2's Complement.

N = (2n) – N*

N = (N*)' + 1orpositive #

2's complement rep. for negative #

bit-wise complement of 2's complement

Spring 2011 ECE 331 - Digital System Design 20

Signed Binary Numbers

Spring 2011 ECE 331 - Digital System Design 21

Binary Arithmeticof

Signed Binary Numbers

Spring 2011 ECE 331 - Digital System Design 22

2's Complement Addition

Addition of n-bit signed binary numbers is straightforward using the 2's Complement number system.

Addition is carried out in the same way as for n-bit positive numbers.

Carry from the sign bit (leftmost bit) is ignored. Overflow occurs if the correct result (including

the sign bit) cannot be represented in n bits.

Spring 2011 ECE 331 - Digital System Design 23

2's Complement Addition: Example

Using 2's Complement addition and 8-bit representation, add the following numbers:

-47 + 83

Did overflow occur?

Spring 2011 ECE 331 - Digital System Design 24

2's Complement Addition: Example

Using 2's Complement addition and 8-bit representation, add the following numbers:

-32 + -105

Did overflow occur?

Spring 2011 ECE 331 - Digital System Design 25

2's Complement Addition: Example

Using 2's Complement addition and 8-bit representation, add the following numbers:

19 + 52

Did overflow occur?

Spring 2011 ECE 331 - Digital System Design 26

2's Complement Addition: Example

Using 2's Complement addition and 8-bit representation, add the following numbers:

64 + 78

Did overflow occur?

Spring 2011 ECE 331 - Digital System Design 27

2's Complement Subtraction

Subtraction can be implemented using addition.

Determine the 2's Complement representation for the negative number -B.

Use 2's Complement addition to add A and -B.

A – B = A + (-B)

Spring 2011 ECE 331 - Digital System Design 28

2's Complement Subtraction: Example

Subtract the following numbers, using 2's Complement addition and 8-bit representation:

64 – 78

Did overflow occur?

Spring 2011 ECE 331 - Digital System Design 29

2's Complement Subtraction: Example

Subtract the following numbers, using 2's Complement addition and 8-bit representation:

-35 – 62

Did overflow occur?

Spring 2011 ECE 331 - Digital System Design 30

2's Complement Subtraction: Example

Subtract the following numbers, using 2's Complement addition and 8-bit representation:

14 – (-59)

Did overflow occur?

Spring 2011 ECE 331 - Digital System Design 31

2's Complement Subtraction: Example

Subtract the following numbers, using binary subtraction and 8-bit representation:

27 – 45

Can this subtraction be carried out?

Spring 2011 ECE 331 - Digital System Design 32

1's Complement Addition

Similar to 2's Complement Addition of n-bit signed binary numbers.

However, rather than ignore the carry-out from the sign (leftmost) bit, add it to the least significant bit (LSB) of the n-bit sum.

Known as the end-around carry.

Spring 2011 ECE 331 - Digital System Design 33

1's Complement Addition: Example

Using 1's Complement addition and 8-bit representation, add the following numbers:

-31 + -84

Did overflow occur?

Spring 2011 ECE 331 - Digital System Design 34

1's Complement Addition: Example

Using 1's Complement addition and 8-bit representation, add the following numbers:

52 + 73

Did overflow occur?

Spring 2011 ECE 331 - Digital System Design 35

Overflow

The general rule for detecting overflow when performing 2's Complement or 1's Complement Addition:

An overflow occurs when the addition of two positive numbers results in a negative number.

An overflow occurs when the addition of two negative numbers results in a positive number.

Overflow cannot occur when adding a positive number to a negative number.

Spring 2011 ECE 331 - Digital System Design 36

Binary Codes

Spring 2011 ECE 331 - Digital System Design 37

Binary Codes

Weighted Codes Each position in the code has a specific

weight Decimal value of code can be determined

Unweighted Codes Positions of code do not have a specific

weight Decimal value assigned to each code

Spring 2011 ECE 331 - Digital System Design 38

Binary Codes

n-bit Weighted Codes Code: an-1an-2an-3...a1a0 Weights: wn-1, wn-2, wn-3, ..., w1, w0 Decimal Value: an-1 x wn-1 + an-2 x wn-2 + …

+ a1 x w1 + a0 x w0 4-bit Weighted Code

Code: a3a2a1a0

Spring 2011 ECE 331 - Digital System Design 39

Binary Codes

Examples of 4-bit weighted codes 8-4-2-1

4 bits → 16 code words Only 10 code words required to represent

decimal digits 6-3-1-1

4 bits → 16 code words Excess-3 (obtained from 8-4-2-1)

4 bits → 16 code words

Spring 2011 ECE 331 - Digital System Design 40

Binary Codes

Examples of unweighted codes 2-out-of-5 Code

Exactly 2 of the 5 bits are “1” for a valid code word. 10 valid code words.

Gray Code Code values for successive decimal digits differ in

exactly one bit. 4 bits → 16 code words.

Spring 2011 ECE 331 - Digital System Design 41

Binary Codes

Decimal Digit

8-4-2-1 Code (BCD)

6-3-1-1 Code

Excess-3 Code

2-out-of-5 Code

Gray Code

0 0000 0000 0011 00011 0000

1 0001 0001 0100 00101 0001

2 0010 0011 0101 00110 0011

3 0011 0100 0110 01001 0010

4 0100 0101 0111 01010 0110

5 0101 0111 1000 01100 1110

6 0110 1000 1001 10001 1010

7 0111 1001 1010 10010 1011

8 1000 1011 1011 10100 1001

9 1001 1100 1100 11000 1000

Spring 2011 ECE 331 - Digital System Design 42

Binary Coded Decimal (BCD)

4-bit binary number used to represent each decimal digit.

Weighted code: 8-4-2-1 Binary values 0000 … 1001 used to represent

decimal values 0 … 9. Binary values 1010 … 1111 not used. Very different from binary representation.

Spring 2011 ECE 331 - Digital System Design 43

Binary Coded Decimal

In BCD, each decimal digit is replaced by its binary equivalent value.

Example:

Binary: 937.2510 = 1110101001.012

Spring 2011 ECE 331 - Digital System Design 44

ASCII

American Standard Code for Information Interchange Common code for the storage and transfer of

alphanumeric characters. 7-bit Weighted Code

Can represent 128 characters

Used to represent letters, numbers, and other characters

Any word or number can be represented using its ASCII code.

Spring 2011 ECE 331 - Digital System Design 45

ASCII Code (incomplete)

Spring 2011 ECE 331 - Digital System Design 46

Questions?


Top Related