Phil Carmody said:
Yes. Hence my point.
I hope it wasn't, as that would be wrong. At no point do _bits_
need to be stored in memory in order to provide 2's complement
externally-visible semantics.
I really don't know what point you're trying to make. If we
say an implementation uses 2's complement, it means the
implementation's abstract machine must store a 2's
complement representation in the abstract machine's memory.
If we say an actual machine uses 2's complement, normally it
means that the actual machine stores values in its memory in
a 2's complement representation. I believe I've never heard
the phrase "uses 2's complement", when applied to an actual
machine, to define operations and not also mean what
represenation is used when storing values in memory.
Certainly it would be possible for someone to mean it that
way, but it's never been used that way in my experience.
Are you saying that what's true in the abstract machine need
not be true in the actual machine, because of the "as if"
rule? If so, that's certainly true -- not very interesting,
but still true. Are you saying anything more than that?