An 8-bit two's complement adder in a motor controller receives the operands and . The signed decimal value left in the 8-bit result register is:
- (A)-109
- (B)-108
- (C)-19
- (D)147
Show worked solution
Answer: (A)
Two positive operands whose true sum exceeds overflow the format, and the retained pattern reads as -109.
Both words carry a clear sign bit, so each represents a positive quantity, and their true sum climbs past the ceiling that eight-bit two's complement can hold.
Column-by-column addition propagates a carry into the sign column but produces no carry out of it, the defining signature of two's complement overflow, so the hardware discards nothing yet stores a pattern that no longer matches the arithmetic sum.
Read back under the same convention, the leading one carries weight while the remaining set bits contribute 19, so the register reports a negative quantity even though both inputs were positive.
FE Reference Handbook — Electrical and Computer Engineering: Number Systems and Codes, Two's Complement Representation ($N_{\text{signed}} = -b_{n-1}2^{n-1} + \sum_{i=0}^{n-2} b_i 2^i$)
Why the other choices appear
- (B)Treating 10010011 as one's complement inverts it to 01101100 = 108 for a reading of -108, one unit short in magnitude because the added one is omitted.
- (C)Treating 10010011 as sign-magnitude uses the sign bit plus the 7-bit field 0010011 = 19, giving -19.
- (D)Reporting the unsigned value 128 + 16 + 2 + 1 = 147 ignores the sign bit and assumes a register wide enough to avoid overflow.