When you mentioned a carry bit, I jumped into the assembly language level of thought. I reference an 8051, because it’s a common 8-bit machine.
The instructions:
mov A, #113
subb A, #-87
are the same as
mov A, #0x71
subb A, #0xA9
You are on the right track. In this case, when the assembler "sees" the negative sign, it represents the value using 2’s complement.
The result of the above instructions is that the A-register will contain 0xC8 (or, using 2's complement in reverse, -56), the carry bit is set, and the overflow bit is also set because the result would have been 200 which cannot be represented in an 8-bit 2’s complement system.