two's complement, was Re: Now OT

Chuck Guzis cclist at
Thu Jun 23 10:17:05 CDT 2016

On 06/23/2016 07:31 AM, Paul Koning wrote:

> I have a copy of 1948 (!) lecture notes on computer design.  It
> discusses one's complement and two's complement.  It points out the
> advantage of two's complement (no two zeroes) but also the
> disadvantage that negating is harder (requiring two steps).  In early
> computers that was significant, which explains why you see one's
> complement there.

There are also a few obscure bit-twiddling tricks that work in ones
complement, but not in two's.

> Another interesting aspect where people may not be aware of how much
> variety existed is in the encoding of floating point numbers.  IEEE
> is now the standard, but PDP-11 users will remember the DEC format
> which is a bit different.  

And by the time you got to the VAX, the issue became *which* floating
point format? (D,E,F or G).

> CDC and IBM were different still.  The Dutch machine Electrologica X8
> had a particularly interesting approach (parts of which were adopted,
> many years later, by the IEEE standard).

IBM's S/360 FP format was a big weakness of that machine.
Single-precision 32-bit word with an exponent that indicated the power
of 16 (not 2) to be applied to the mantissa (i.e., normalizing the
mantissa only shifted to the nearest 4 bits, not 1).

CDC, on the other hand, dedicated 48 bits to the mantissa of
single-precision numbers,  In other words, CDC's single-precision was
roughly the equivalent of IBM's double-precision.

To the scientific community, this was a big selling point.

Of course, there were also machines that used the floating point
facility for all arithmetic.  Integer computations is performed as a
subset of floating-point.  This has the ramification that an integer
does not occupy an entire word, but only part of it.


More information about the cctalk mailing list