We consider the addition of two 2's compliment numbers b_{n-1} b_{n-2} ....b_{0} and a_{n-1} a_{n-2} ....a_{o}, A binary adder for adding two unsigned binary numbers is used to add two binary numbers. The sum is denoted by c_{n-1} c_{n-2} ....c_{0}. The carry out is denoted by C_{out}. The overflow condition is identified by

This question was previously asked in

ISRO Scientist CS 2017 Official Paper - II

Option 2 : \(\overline {{a_{n - 1}}} {b_{n - 1}}\overline {{c_{n - 1}}} + \overline {{a_{n - 1}}{b_{n - 1}}} {c_{n - 1}}\)

ISRO Scientist CS 2020 Official Paper

741

80 Questions
240 Marks
90 Mins

**Example:**

b_{0} = 1 (-1)

a0 = 1 (-1)

b0 + a0 = (1 0)

cout = 1 and c_{0} = 0

No overflow result is **0** and it is in range carry is dicarded

**Option 1: \({c_{out}}\left( {\overline {{a_{n - 1}} \oplus {b_{n - 1}}} } \right)\)**

\({1}\left( {\overline {{1} \oplus {1}} } \right) = 1\)

It says overflow (eliminated)

__Option 2:__ \(\overline {{a_{n - 1}}} {b_{n - 1}}\overline {{c_{n - 1}}} + \overline {{a_{n - 1}}{b_{n - 1}}} {c_{n - 1}}\)

\(\overline {{1}} .{1}.\overline {1} + \overline {1.1} {0} = 0\)

It says no overflow

__ Option 3__: \({c_{out}} \oplus {c_{n - 1}}\)

\({1} \oplus {0} = 1\)

It says overflow (eliminated)

**Option 4: \({a_{n - 1}} \oplus {b_{n - 1}} \oplus {c_{n - 1}}\)**

**\({1} \oplus {1} \oplus {0} = 0\)**

It says no overflow

Take another example

b_{1}b0 = 1 1

a_{1}a0 = 1 1

b1b0 + a1a0 = (1 1 0)

cout = 1 and c1 = 1 //no overflow since 00 is in the range

\({1} \oplus {1} \oplus {1} = 1\)

It says overflow and hence discarded

**Important Point:**

carry = cout is discarded it doesn't indicate overflow.