In: Computer Science
add -19 and 79 using 16-bit 2's complement format
Number: -19
Let's convert this to two's complement binary
This is negative. so, follow these steps to convert this into a 2's complement binary
Step 1:
Divide 19 successively by 2 until the quotient is 0
   > 19/2 = 9, remainder is 1
   > 9/2 = 4, remainder is 1
   > 4/2 = 2, remainder is 0
   > 2/2 = 1, remainder is 0
   > 1/2 = 0, remainder is 1
Read remainders from the bottom to top as 10011
So, 19 of decimal is 10011 in binary
Adding 11 zeros on left hand side of this number to make this of length 16
So, 19 in normal binary is 0000000000010011
Step 2: flip all the bits. Flip all 0's to 1 and all 1's to 0.
   0000000000010011 is flipped to 1111111111101100
Step 3:. Add 1 to above result
1111111111101100 + 1 = 1111111111101101
so, -19 in 2's complement binary is 1111111111101101
Number: 79
Let's convert this to two's complement binary
Since this is a positive number. we can directly convert this into binary
Divide 79 successively by 2 until the quotient is 0
   > 79/2 = 39, remainder is 1
   > 39/2 = 19, remainder is 1
   > 19/2 = 9, remainder is 1
   > 9/2 = 4, remainder is 1
   > 4/2 = 2, remainder is 0
   > 2/2 = 1, remainder is 0
   > 1/2 = 0, remainder is 1
Read remainders from the bottom to top as 1001111
So, 79 of decimal is 1001111 in binary
Adding 9 zeros on left hand side of this number to make this of length 16
so, 79 in 2's complement binary is 0000000001001111
Adding 1111111111101101 and 0000000001001111 in binary
    1111111111101101
    0000000001001111
---------------------
 (1)0000000000111100
---------------------
Sum produces a carry of 1. We can ignore that carry.
So, sum of these numbers in binary is 0000000000111100
Verification:
---------------
sum = 0000000000111100
since left most bit is 0, this number is positive
so, we can directly convert this into a decimal value
=> 111100
=> 1x2^5+1x2^4+1x2^3+1x2^2+0x2^1+0x2^0
=> 1x32+1x16+1x8+1x4+0x2+0x1
=> 32+16+8+4+0+0
=> 60
Answer: 60
This is correct since we can verify that -19+79 = 60
So, there was no overflow.