End-around carry is actually rather simple: it changes the modulus of the addition operation from rn to rn–1, if you think of the numbers as unsigned. To simplify things, let's talk about binary.
Let's compute (-2) + (-4) using four-bit two's complement arithmetic:
1 1 1 0 (-2)
+ 1 1 0 0 + (-4)
--------- ------
1 1 0 1 0 (-6)
Let's keep the carry bit where it is for now. If you look at the numbers as unsigned integers, we're computing 14 + 12 = 26. However, addition is done modulo 16, so we get 10, which is the unsigned number which represents -6 (the correct result).
In ones' complement, the numbers have different representations:
1 1 0 1 (-2)
+ 1 0 1 1 + (-4)
--------- ------
1 1 0 0 0 (-6)
Again, let's keep the carry bit where it is. If you look at the numbers as unsigned integers, we're computing 13 + 11 = 24. However, due to the wrap-around carry, addition is done modulo 15, so we end up with 9, which represents -6 (the correct result).
So in four-bit two's complement, -2 is equivalent to 14 modulo 16, -4 is equivalent to 12 modulo 16, and -6 is equivalent to 10 modulo 16.
And in four-bit ones' complement, -2 is equivalent to 13 modulo 15, -4 is equivalent to 11 modulo 15, and -6 is equivalent to 9 modulo 15.
Signed zero: The reason you get "signed zero" is because there are 16 possible numbers in four bit, but if you're doing modulo-15 arithmetic, then 0 and 15 are equivalent. That's all there is to it.