> On Aug 22, 2015, at 5:49 PM, Al Kossow <a...@bitsavers.org> wrote:
> 
> On 8/22/15 2:23 PM, Sean Conner wrote:
>> 
>>   For my own morbid curiosity, and because it came up on another mailing
>> list I'm on [1], what machines commercially avaialble were sign magnitude
>> and one's complement?
> 
> A table of what computers had what numeric representation is one of those 
> things
> that should have been done, but never has. Now that bitsavers has a 
> reasonable collection
> of technical/programming manuals, it might even be possible.
> 
> http://quadibloc.com/comp/cpint.htm
> 
> has some information, but it isn't really in any sort of tabular form.

Some comments on that data.

There are a bunch of one's complement machines.  CDC 6000 series has already 
been mentioned.  Electrological EL-X1 and EL-X8 are another example.

Both the CDC and the EL-X8 have another interesting property: the floating 
point format is one's complement, and the mantissa is an integer rather than a 
fraction.  F.E.K Kruseman Aretz in his paper on the EL-X8 floating point 
implementation calls this "Grau representation"  (A.A. Grau. On a 
floating–point representation for use with algorithmic languages. Comm. ACM 5 
(1962) 160.).  One's complement in the sense that negating a float was done 
exactly like negating an int: by complementing it.  And in the EL-X8 the 
exponent field was a one's complement integer also (unlike CDC where is's an 
excess-02000 value).

One interesting property of one's complement machines is whether they "prefer 
+0" or "prefer -0".  If you use an adder, then x+(-x) produces -0 -- the only 
way to get +0 is as the result of 0+0.  Cray apparently didn't like that, so 
the CDC 6000 series use a subtractor, so add is done as a-(-b).  If you do 
that, then  you get "prefer +0" -- x + (-x) is +0 if x is non-zero, and the 
only way to get a -0 result is to start with a -0 input.  But EL-X8 is "prefer 
-0".  I don't know about other one's complement machines.

> AFAIK, the PDP-1 was the only DEC 1's compliment machine that shipped.
> 
> I had also heard that 1's compliment never caught on in short word length
> machines because of the difficulty dealing with multi-word arithmetic.

Interesting point.  Not true for the CDC 6000 series PPUs because they had an 
18 bit accumulator, so a 24 bit add (which was fairly common) would look like:
        ldm     foo
        adm     bar
        stm     result
        shn     -12             shift carry into lower bits
        adm     foo+1
        adm     bar+1
        stm     result+1

As for sign/magnitude, there's the IBM 1620.  Not binary, but sign/magnitude 
decimal.

    paul


Reply via email to