digital systems tce1111 representation and arithmetic operations with signed numbers week 6 and 7...

24
DIGITAL SYSTEMS TCE1111 Representation and Arithmetic Operations with Signed Numbers Week 6 and 7 (Lecture 1 of 2)

Post on 22-Dec-2015

221 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: DIGITAL SYSTEMS TCE1111 Representation and Arithmetic Operations with Signed Numbers Week 6 and 7 (Lecture 1 of 2)

DIGITAL SYSTEMS TCE1111

Representation and Arithmetic Operations with Signed Numbers

Week 6 and 7

(Lecture 1 of 2)

Page 2: DIGITAL SYSTEMS TCE1111 Representation and Arithmetic Operations with Signed Numbers Week 6 and 7 (Lecture 1 of 2)

2

DIGITAL SYSTEMS TCE1111

What we are going to discuss?

• How to find 1’s and 2’s complement of a given binary number?

• How to represent negative integers using three ways – sign-magnitude,1’s complement and 2’s complement representation

• Arithmetic operations with 2’s complement numbers – Addition, Subtraction, Multiplication, Division

• Overflow Problem and Detection in the addition of signed numbers in 2’ s complement representation.

Page 3: DIGITAL SYSTEMS TCE1111 Representation and Arithmetic Operations with Signed Numbers Week 6 and 7 (Lecture 1 of 2)

3

DIGITAL SYSTEMS TCE1111

Finding 1’s complement

Change all the 1s to 0s and all the 0s to 1s

Binary number 0001100100101

1’s complement 1110011011010

Page 4: DIGITAL SYSTEMS TCE1111 Representation and Arithmetic Operations with Signed Numbers Week 6 and 7 (Lecture 1 of 2)

4

DIGITAL SYSTEMS TCE1111

Example of inverters used to obtain the 1’s complement of a binary number.

Page 5: DIGITAL SYSTEMS TCE1111 Representation and Arithmetic Operations with Signed Numbers Week 6 and 7 (Lecture 1 of 2)

5

DIGITAL SYSTEMS TCE1111

Finding 2’s complement

2’s complement = 1’s complement +1

Binary number 111000101010001

1’s complement 000111010101110

Add 1

2’s complement 000111010101111

Page 6: DIGITAL SYSTEMS TCE1111 Representation and Arithmetic Operations with Signed Numbers Week 6 and 7 (Lecture 1 of 2)

6

DIGITAL SYSTEMS TCE1111

Example of obtaining the 2’s complement of a negative binary number.

Page 7: DIGITAL SYSTEMS TCE1111 Representation and Arithmetic Operations with Signed Numbers Week 6 and 7 (Lecture 1 of 2)

7

DIGITAL SYSTEMS TCE1111

Representation of Signed Integers in Binary – Three forms

Sign bit – a 0 is for positive a 1 is for negative

Sign-Magnitude form – a negative number has the same magnitude as the corresponding positive number but the sign bit is a 1 rather than a zero

Example: +43 in 8-bit S-M form = 0 0101011

-43 in 8-bit S-M form = 1 0101011

1’s complement form- a negative number is the 1’s complement of the corresponding positive numberExample: +43 in 8-bit 1’s complement form = 00101011

-43 in 8-bit 1’s complement form = 11010100

2’s complement form- a negative number is the 2’s complement of the corresponding positive numberExample: +43 in 8-bit 2’s complement form = 00101011

-43 in 8-bit 2’s complement form = 11010101

Page 8: DIGITAL SYSTEMS TCE1111 Representation and Arithmetic Operations with Signed Numbers Week 6 and 7 (Lecture 1 of 2)

8

DIGITAL SYSTEMS TCE1111

Determination of decimal value of signed numbers (1)…

Sign-magnitude form – convert all but the MSB to decimal and call the decimal value negative if the MSB is 1

Example: 0 1010011 = 64+16+2+1 = +83 since MSB is 0

1 1010011 = 64+16+2+1 = -83 since MSB is 1

1’s complement form – if the bit sign is 0 sum the weighted values of the the binary number, if the bit sign is 1 the sum the weighted value of the binary number assigning the MSB a negative weight and add 1

Example: 01010011 = 64+16+2+1 = + 83 since MSB is 0

10101100 = -128+32+8+4= - 84 +1 since MSB is 1

= - 83

Page 9: DIGITAL SYSTEMS TCE1111 Representation and Arithmetic Operations with Signed Numbers Week 6 and 7 (Lecture 1 of 2)

9

DIGITAL SYSTEMS TCE1111

Determination of decimal value of signed numbers (2)

2’s complement form - if the bit sign is 0 sum the weighted values of the binary number, if the bit sign is 1 the sum the weighted value of the binary number assigning the MSB a negative weight

• Example:

01010011 = 64+16+2+1 = + 83 since MSB is 0

10101101 = -128+32+8+4+1= - 83 since MSB is 1

Page 10: DIGITAL SYSTEMS TCE1111 Representation and Arithmetic Operations with Signed Numbers Week 6 and 7 (Lecture 1 of 2)

10

DIGITAL SYSTEMS TCE1111

Table of 8 bit Two’s Complement numbers

127 01111111

……….

5 00000101

4 00000100

3 00000011

2 00000010

1 00000001

0 00000000

-1 11111111

-2 11111110

-3 11111101

-4 11111010

-5 11111011

………

-128 10000000

Page 11: DIGITAL SYSTEMS TCE1111 Representation and Arithmetic Operations with Signed Numbers Week 6 and 7 (Lecture 1 of 2)

11

DIGITAL SYSTEMS TCE1111

Range of 2’s complement representation

• Range of values for n-bit numbers for 2’s complement signed number representation

- (2n-1) to +(2n-1 – 1)

Example:

• For 4 bit 2’s complement representation, range = -8 to +7

• For 8 bit 2’s complement representation, range = -128 to +127

• For 16 bit 2’s complement representation, range = -32,768 to +32,767

Page 12: DIGITAL SYSTEMS TCE1111 Representation and Arithmetic Operations with Signed Numbers Week 6 and 7 (Lecture 1 of 2)

12

DIGITAL SYSTEMS TCE1111

Arithmetic operations with 2’s complement numbers – Addition

• Add the two numbers and discard any final carry bit.• Example: Add (34) + (-46) in 8-bit 2’s complement arithmetic 34 = 00100010 -46 = 11010010 --------------

-12= 11110100 ----------------

Page 13: DIGITAL SYSTEMS TCE1111 Representation and Arithmetic Operations with Signed Numbers Week 6 and 7 (Lecture 1 of 2)

13

DIGITAL SYSTEMS TCE1111

Overflow problem and detection (1)…

• Problem: When two numbers are added and the number of bits required to represent the sum exceeds the number of bits in the two numbers, an overflow occurs.

• When it can occur? Overflow may occur only when both numbers are positive or both numbers are negative.

Page 14: DIGITAL SYSTEMS TCE1111 Representation and Arithmetic Operations with Signed Numbers Week 6 and 7 (Lecture 1 of 2)

14

DIGITAL SYSTEMS TCE1111

Overflow problem and detection (2)

• Detection of Overflow: – When two operands are having the same sign and the result is

having different sign, then there is overflow– If carry into the sign bit is different from carry out of the sign

bit, then there is overflow– Example: 01101110 01011011 ------------- 11001001 --------------Operands sign = +ve (0) Result sign = -ve (1), hence overflow

occurs.(or) carry into the sign bit = 1, carry out of sign bit =0, hence

overflow occurs.

Page 15: DIGITAL SYSTEMS TCE1111 Representation and Arithmetic Operations with Signed Numbers Week 6 and 7 (Lecture 1 of 2)

15

DIGITAL SYSTEMS TCE1111

Arithmetic operations with 2’s complement numbers – Subtraction-Example (27-12)

27 00011011

Two’s Comp 00011011

12 00001100

Comp 11110011

Add 1 1

Two’s comp 11110100 -12

ADD 00011011

11110100

Carry Disregarded 1 00001111 15

Subtraction is additionwith the sign of the subtrahend changed

Example : (27-12) = 27 + -12

Page 16: DIGITAL SYSTEMS TCE1111 Representation and Arithmetic Operations with Signed Numbers Week 6 and 7 (Lecture 1 of 2)

16

DIGITAL SYSTEMS TCE1111

Multiplication

• Two methods: Direct addition and Partial products

• The sign of the product of a multiplication depends on the signs of the multiplicand and the multiplier according to the following two rules:

1. If the signs are the same, the product is positive

2. If the signs are different, the product is negative

Page 17: DIGITAL SYSTEMS TCE1111 Representation and Arithmetic Operations with Signed Numbers Week 6 and 7 (Lecture 1 of 2)

17

DIGITAL SYSTEMS TCE1111

Multiplication

• Direct addition method - add the multiplicand a number of times equals to the multiplier. Disadvantage is this approach becomes very lengthy if the multiplier is a large number.

• Example:

Page 18: DIGITAL SYSTEMS TCE1111 Representation and Arithmetic Operations with Signed Numbers Week 6 and 7 (Lecture 1 of 2)

18

DIGITAL SYSTEMS TCE1111

Multiplication

• Procedure:– Step 1: Determine if the signs of the multiplicand and multiplier are the

same or different to determine the sign of the product. (If the signs are the same, the product is positive. If the signs are different,

the product is negative)- Step 2: Change any negative number to true (uncomplemented) form by

finding 2’s complement- Step 3: Starting with least significant multiplier bit, generate the partial

products. When the multiplier bit is 1, the partial product is the same as the multiplicand. When the multiplier bit is 0, the partial product is zero. Shift each successive partial product one bit to the left.

- Step 4: Add each successive partial product to the sum of the previous partial products to get the final product.

- Step 5: If the sign bit that was determined in step 1 is negative, take the 2’s complement of the product. If positive, leave the product in true form. Attach the sign bit to the product.

Partial Product method

Page 19: DIGITAL SYSTEMS TCE1111 Representation and Arithmetic Operations with Signed Numbers Week 6 and 7 (Lecture 1 of 2)

19

DIGITAL SYSTEMS TCE1111

Multiplication – example

Page 20: DIGITAL SYSTEMS TCE1111 Representation and Arithmetic Operations with Signed Numbers Week 6 and 7 (Lecture 1 of 2)

20

DIGITAL SYSTEMS TCE1111

Division

The numbers in a division are the dividend, the divisor and the quotient.

The division operation in computers is accomplished using subtraction. Example:

The sign of the quotient depends on the signs of the dividend and the divisor according to the two rules:

1. If the signs are the same, the quotient is positive

2. If the signs are different, the quotient is negative

quotientdivisor

dividend

21- 7 14- 7 7- 7 0

Page 21: DIGITAL SYSTEMS TCE1111 Representation and Arithmetic Operations with Signed Numbers Week 6 and 7 (Lecture 1 of 2)

21

DIGITAL SYSTEMS TCE1111

Division

– Step 1: Determine if the signs of the dividend and divisor are the same or different. This determines the sign of the quotient. (If the signs are the same, the quotient is positive. If the signs are different, the quotient is negative). Initialize the quotient to zero.

– Step 2: Subtract the divisor from the dividend using 2’s complement addition to get the first partial remainder and add 1 to the quotient. If this partial remainder is positive, go to step 3. If the partial remainder is zero or negative, the division is complete.

– Step 3: Subtract the divisor from the partial remainder and add 1 to the quotient. If the result is positive, repeat for next partial remainder. If the result is zero or negative, the division is complete.

– Step 4: Continue to subtract the divisor from the dividend and the partial remainders until there is a zero or negative result. Quotient is the number of times that the divisor is subtracted.

When tow binary numbers are dividend, both numbers must be in true ( uncomplemented) form. The basic steps in division process are as follows:

Page 22: DIGITAL SYSTEMS TCE1111 Representation and Arithmetic Operations with Signed Numbers Week 6 and 7 (Lecture 1 of 2)

22

DIGITAL SYSTEMS TCE1111

Division (1)…

• Example: Divide 01100100 by 00011001

Solution:

Step 1: The signs of both numbers are positive, so the quotient will be positive. The quotient is initially zero: 00000000

Step 2: Subtract the divisor from the dividend using 2’s complement addition by discarding carry if any.

01100100 Dividend + 11100111 2’s complement of divisor ------------------- 01001011 Positive 1st partial remainder --------------------Add 1 to the Quotient: 00000000 + 00000001 = 00000001

Page 23: DIGITAL SYSTEMS TCE1111 Representation and Arithmetic Operations with Signed Numbers Week 6 and 7 (Lecture 1 of 2)

23

DIGITAL SYSTEMS TCE1111

Division (3)…

• Step 3: Subtract the divisor from the 1st partial remainder using 2’s complement addition

01001011 1st partial remainder + 11100111 2’s complement of divisor ------------- 00110010 Positive 2nd partial remainder --------------Add 1 to the quotient: 00000001 + 00000001 = 00000010.

Step 4: Subtract the divisor from the 2nd partial remainder using 2’s complement addition.

00110010 2nd partial remainder + 11100111 2’s complement of divisor --------------- 00011001 Positive 3rd partial remainderAdd 1 to the quotient: 00000010 + 00000001 = 00000011.

Page 24: DIGITAL SYSTEMS TCE1111 Representation and Arithmetic Operations with Signed Numbers Week 6 and 7 (Lecture 1 of 2)

24

DIGITAL SYSTEMS TCE1111

Division (4)

• Step 5: Subtract the divisor from the 3rd partial remainder using 2’s complement addition.

00011001 3rd partial remainder

+ 11100111 2’s complement of divisor

-------------

00000000 Zero remainder

--------------

Add 1 to the quotient: 00000011 + 00000001 = 00000100 (final quotient). The process is complete.