On 25/09/20, Doug McIlroy wrote:
Turing save us
from 1-complement machines!
Users of Whirlwind II were warned about the quirks of -0.
We were not warned, though, about integer divide with remainder 0.
The result of dividing 6 by 3, for example, was binary 1.111111... -
a valid answer when carried to infinity. Unfortunately, the
"fractional" part was dropped.
Most people used Whirlwind for floating-point computation, and
blithely dismissed printed answers like 1.999999 as "roundoff
errors".
It's funny that you mention that. I'm working on a verilog simulation of
the Whirlwind I right now and I *just* came across this quirk. Now I'm
really glad I remembered this mail of yours. Otherwise I might have
spent some time trying to debug this non-bug. Thanks a lot!
(The simulation is based on the description from 1947, so it doesn't
describe the machine as it actually ran in the 50s. It would be great to
have more material on its later life.)
aap