> When reading dumps, not having to perform an extra addition (subtraction?) when changing a number's sign is pretty sweet!
So I've not worked with 1's complement machines, but how do you add a negative number to a positive number?
For instance, 5 + -3 in one's complement would naively be:
000101
+ 111100
--------
000001 instead of 2
Doesn't the machine have to perform some fixup for negative numbers in this more common case, instead of a fixup during the arguably less common negation?
I don't have detailed knowledge on how UNISYS microcode works, but I was told that addition was implemented as subtraction of the negated number.
So the "real" implemented instruction was subtraction, while addition wasn't directly implemented. The "fixup", meanwhile, is just flipping all the bits, and this can be achieved, I suppose, more quickly than adding-with-carry over 36 bits.
So I've not worked with 1's complement machines, but how do you add a negative number to a positive number?
For instance, 5 + -3 in one's complement would naively be:
Doesn't the machine have to perform some fixup for negative numbers in this more common case, instead of a fixup during the arguably less common negation?