Confusion in 2's complement of 00000000
You have 00000000 as the number, it implies how many bits are used. The 1 at the front comes from carry bit, but two complements does not extend number of bits used, so the answer is 00000000, as the carry is discarded because it doesn't fit given space.

You can check it (to convince yourself) by converting code back from 2's complement to decimal. 00000000 yields 0, while 100000000 gives -256.