2.7k views

Consider $Z=X-Y$ where $X, Y$ and Z are all in sign-magnitude form. X and Y are each represented in $n$ bits. To avoid overflow, the representation of $Z$ would require a minimum of:

1. $n$ bits
2. $n-1$ bits
3. $n+1$ bits
4. $n+2$ bits

edited | 2.7k views

Let $X$ and $Y$ represents $31$ and $- 31$ respectively in binary sign magnitude form. $X$ and $Y$ will take $6$ bits as range of sign magnitude form is $-\left(2^{(n-1)}-1\right)$ to $2^{(n-1)}-1$; where $n$ is the number of bits.

Now in question $Z= X-Y$,

$Z = 31 - (-31) = 62$

To represent $62$ in sign magnitude form we need $7\;( 6+1)$ bits.

Hence, $n+1$ bits needed.

Answer is $C$.
by Junior (553 points)
edited by
+2
Overflow condition can be checked with MSb bit x’y’z or xyz’ so maybe n bits
0
As, 2's complement representation is in binary. So, we required one more bit to represent overflow.
+3
Range of sign-magnitude form is not correct. it should be $\large (-2^{n-1}-1) to (+2^{n-1}-1).$
0
Fixed 👍
+1

@Nitesh Singh 2

You're right. The range $-2^{n-1} \le X \le(2^{n-1}-1)$ is actually for 2's complement system of $n$-bit numbers. On the other hand, as for sign-magnitude form it's $-(2^{n-1}-1) \le X \le(2^{n-1}-1)$ including ($\pm 0$).

No overflow if two number with opposite sign are added.
Here $(X+(-Y))$ wont give any overflow if sign of $X$ and $-Y$ are opposite else it may cause overflow.
Nothing mentioned in question so in worst case it will give overflow.

Additional bit needed to handle overflow.
Total $n+1$ bits needed.
by Veteran (60.5k points)
edited
+1 vote
n+1

ans (C)
by Junior (565 points)
+1 vote
N bits..

Who feel they will challenge please message me the email so that I can send links

Actually in sign magnitude addition and subtraction are different.in 1 and 2's we can do subtraction using adder.but here we have different.so 31-(-31) will get changed to problem of adder
by (139 points)

Overflow can occur when two same sign numbers are added or two opposite sign numbers are subtracted. For example:

let n = 4 bit, X = +6 and Y = -5 (1 bit for sign and 3 bit for magnitude)
Therefore, Z = X - Y = 6 - (-5) = 6+5 = 11
But result (Z) 11 needs 5 (= 4 + 1) bits to store,
Sin integer 11 needs 1 bit for sign and 4 bit for magnitude. 

Therefore, to avoid overflow, the representation of Z would require a minimum of (n + 1)bits. Option (C) is correct.

https://www.geeksforgeeks.org/gate-cs-2019/

by (497 points)
–1 vote

The question asked is the minimum  number of bits required to REPRESENT Z and NOT minimum number of bits to calculate Z. Strictly speaking this question is all about the HARDWARE implementation of sign magnitude addition and subtraction of 2 numbers, X and Y and not just paper and pencil arithmetic, a frequently asked question in Research Programme Interviews in COA. This is explained in detail on page 417, chap.10, Digital Logic and Design by Moris Mano, 13th impression, 2011. Exactly 8 conditions arise when X and Y are added or subtracted .i.e.$(\pm X) \pm ( \pm Y)$ . The n+1 bit is the overflow bit used to determine the relative magnitutes of X and Y. It is not used in the computation of Z as the nth bit of all sign magnitude numbers indicate whether the given number is positive or negative number. Hence, the number of bits required to REPRESENT Z is n although one would require n+1 bits for computation of addition or subtraction of X and Y.  Correct Ans is A) n bits.

There are 3 other questions with ambiguous answer : Q. 29, 40, 50.

by (71 points)
edited