Above is the internal workings of my 4-bit ALU. The result is outputted as a 5-bit number using Two's Complement - no result flaggers necessary. The "4b+" chip is a 4-bit adder, which works like this:
The "3i+" chips here are the 1-bit adders, which work as follows:
Notice how I put the carry bit at the top. Putting it at the bottom makes everything all the more confusing, as doing so may make it appear that the bit on the bottom is the least significant bit, when the truth is the exact opposite.