Top Banner
ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Lecture 8 Dr. Shi Dept. of Electrical and Computer Engineering
19

ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Lecture 8 Dr. Shi Dept. of Electrical and Computer Engineering.

Jan 19, 2018

Download

Documents

Lizbeth Stewart

How To Represent Signed Numbers Plus and minus sign used for decimal numbers: 25 (or +25), -16, etc..For computers, desirable to represent everything as bits. Three types of signed binary number representations: signed magnitude, 1’s complement, 2’s complement. In each case: left-most bit indicates sign: positive (0) or negative (1). Consider signed magnitude: = Sign bitMagnitude = Sign bitMagnitude
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Lecture 8 Dr. Shi Dept. of Electrical and Computer Engineering.

ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS

DESIGNLecture 8Dr. ShiDept. of Electrical and Computer Engineering

Page 2: ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Lecture 8 Dr. Shi Dept. of Electrical and Computer Engineering.

SIGNED NUMBERS

Page 3: ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Lecture 8 Dr. Shi Dept. of Electrical and Computer Engineering.

How To Represent Signed Numbers

• Plus and minus sign used for decimal numbers: 25 (or +25), -16, etc.

• For computers, desirable to represent everything as bits..

• Three types of signed binary number representations: signed magnitude, 1’s complement, 2’s complement.

• In each case: left-most bit indicates sign: positive (0) or negative (1).

Consider signed magnitude: 000011002 = 1210

Sign bit Magnitude

100011002 = -1210

Sign bit Magnitude

Page 4: ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Lecture 8 Dr. Shi Dept. of Electrical and Computer Engineering.

Circular Representation

Page 5: ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Lecture 8 Dr. Shi Dept. of Electrical and Computer Engineering.

Two’s Complement Representation(Circular Representation)

• The two’s complement of a binary number involves inverting all bits and adding 1.• 2’s comp of 00110011 is 11001101• 2’s comp of 10101010 is 01010110

• For an n bit number N the 2’s complement is 2n – N.• To find negative of 2’s complement number take the

2’s complement.

000011002 = 1210

Sign bit Magnitude

111101002 = -1210

Sign bit Magnitude

Page 6: ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Lecture 8 Dr. Shi Dept. of Electrical and Computer Engineering.

Two’s Complement Shortcuts Simply complement each bit and

then add 1 to the result. Finding the 2’s complement of

(01100101)2 and of its 2’s complement… N = 01100101 [N] = 10011011

10011010 01100100 + 1 + 1 --------------- --------------- 10011011 01100101

Page 7: ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Lecture 8 Dr. Shi Dept. of Electrical and Computer Engineering.

Finite Number Representation Machines that use 2’s complement

arithmetic can represent integers in the range-2n-1 <= N <= 2n-1-1where n is the number of bits available for representing N. Note that 2n-1-1 = (011..11)2 and –2n-

1 = (100..00)2o For 2’s complement, more negative

numbers than positive.

Page 8: ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Lecture 8 Dr. Shi Dept. of Electrical and Computer Engineering.

2’s Complement Subtraction

Let’s compute (13)10 - (5)10 (13)10 = +(1101)2 = (01101)2 (-5)10 = -(0101)2 = (11011)2

Adding these two 5-bit codes…

Discarding the carry bit, the sign bit is seen to be zero, indicating a correct result.

0 1 1 0 1 + 1 1 0 1 1-------------- 1 0 1 0 0 0

carry

Page 9: ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Lecture 8 Dr. Shi Dept. of Electrical and Computer Engineering.

2’s Complement Subtraction

Let’s compute (5)10 – (12)10 (-12)10 = -(1100)2 = (10100)2 (5)10 = +(0101)2 = (00101)2

Adding these two 5-bit codes…

Here, there is no carry bit and the sign bit is 1 This indicates a negative result, which is what we expect (11001)2 = -(7)10

0 0 1 0 1 + 1 0 1 0 0-------------- 1 1 0 0 1

Page 10: ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Lecture 8 Dr. Shi Dept. of Electrical and Computer Engineering.

REALIZATION

Page 11: ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Lecture 8 Dr. Shi Dept. of Electrical and Computer Engineering.

Negative Numbers – 2’s Complement.

110 = 0116 = 00000001-110 = FF16 = 11111111

12810 = 8016 = 0010000000-12810 = 8016 = 1110000000

Subtracting a number is the same as:1. Perform 2’s complement2. Perform addition

If we can augment adder with 2’s complement hardware?

Page 12: ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Lecture 8 Dr. Shi Dept. of Electrical and Computer Engineering.

4-bit Subtractor: E = 1

+1

Add A to B’ (one’s complement) plus 1That is, add A to two’s complement of BD = A - B

Page 13: ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Lecture 8 Dr. Shi Dept. of Electrical and Computer Engineering.

Adder- Subtractor Circuit

+1

Add A to B’ (one’s complement) plus 1That is, add A to two’s complement of BD = A - B

Page 14: ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Lecture 8 Dr. Shi Dept. of Electrical and Computer Engineering.

Overflow in two’s complement addition

Definition: When two values of the same signs are added: Result won’t fit in the number of bits provided Result has the opposite sign.

Overflow?

CN-1

BN-1

AN-1

Assumes an N-bit adder, with bit N-1 the MSB

Page 15: ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Lecture 8 Dr. Shi Dept. of Electrical and Computer Engineering.

10 1101 1010-------- 0111

11 1110 1101-------- 1011

01 0011 0110-------- 1001

00 0010 0011-------- 0101

00 0010 1100-------- 1110

11 1110 0100-------- 0010

Addition cases and overflow

OFL OFL

235

3 6-7

-2-3-5

-3-6 7

2-4-2

-2 4 2

Page 16: ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Lecture 8 Dr. Shi Dept. of Electrical and Computer Engineering.

One’s Complement Representation

• The one’s complement of a binary number involves inverting all bits.• 1’s comp of 00110011 is 11001100• 1’s comp of 10101010 is 01010101

• For an n bit number N the 1’s complement is (2n-1) – N.

• To find negative of 1’s complement number take the 1’s complement.

000011002 = 1210

Sign bit Magnitude

111100112 = -1210

Sign bit Magnitude

Page 17: ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Lecture 8 Dr. Shi Dept. of Electrical and Computer Engineering.

1’s Complement Addition

Adding using 1’s complement numbers. For example, suppose we wish to add

+(1100)2 and +(0001)2. Let’s compute (12)10 + (1)10.

(12)10 = +(1100)2 = 011002 in 1’s comp.

(1)10 = +(0001)2 = 000012 in 1’s comp. 0 1 1 0 0 + 0 0 0 0 1-------------- 0 0 1 1 0 1 0-------------- 0 1 1 0 1

Add carry

Final Result

Step 1: Add binary numbersStep 2: Add carry to low-order bit

Add

Page 18: ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Lecture 8 Dr. Shi Dept. of Electrical and Computer Engineering.

1’s Complement Subtraction

Using 1’s complement numbers, subtracting numbers is also easy.

For example, suppose we wish to subtract +(0001)2 from +(1100)2.

Let’s compute (12)10 - (1)10. (12)10 = +(1100)2 = 011002 in 1’s comp. (-1)10 = -(0001)2 = 111102 in 1’s comp.

Page 19: ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Lecture 8 Dr. Shi Dept. of Electrical and Computer Engineering.

1’s Complement Subtraction

0 1 1 0 0 - 0 0 0 0 1--------------

0 1 1 0 0 + 1 1 1 1 0-------------- 1 0 1 0 1 0 1-------------- 0 1 0 1 1

Add carry

Final Result

Step 1: Take 1’s complement of 2nd operandStep 2: Add binary numbersStep 3: Add carry to low order bit

1’s comp

Add