Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>End-around carry is actually rather simple: it changes the modulus of the addition operation from r<sup>n</sup> to r<sup>n</sup>–1, if you think of the numbers as unsigned. To simplify things, let's talk about binary.</p> <p>Let's compute (-2) + (-4) using four-bit two's complement arithmetic:</p> <pre> 1 1 1 0 (-2) + 1 1 0 0 + (-4) --------- ------ 1 1 0 1 0 (-6) </pre> <p>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).</p> <p>In ones' complement, the numbers have different representations:</p> <pre> 1 1 0 1 (-2) + 1 0 1 1 + (-4) --------- ------ 1 1 0 0 0 (-6) </pre> <p>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).</p> <p>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.</p> <p>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.</p> <p><strong>Signed zero:</strong> 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.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload