Anzeigen des Gesamtinhalts (oder Logo links anklicken) oder des Impressums.

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
analyticalengine:whichcomplement [2015-06-01 08:14]
rainer
analyticalengine:whichcomplement [2015-06-01 08:47] (aktuell)
rainer Two zeros according to Bromley; rewritten
Zeile 1: Zeile 1:
-Did the Analytical Engine have a minus Zero in addition to a the normal (plus) zero?+====== Two Zeros ======
  
-In other words:+Allan Bromley (//The Programmer'​s Interface//,​ IEEE Annals, Oct-Dec 2000, p.12r, //​Ascertaining..//​) writes: 
 +> There as thus two zero values, ±0, that can be represented separately and will produce different results when the sign is tested. There is no clear evidence that the microprograms attempted systematically to map -0 to +0 although multiplication does so by default.
  
-If two equal negative numbers ​were subtracted, was the result a positive zero, and the run-up lever set due to the rule that the signs differ?+According to Tim Robinson, values ​were always stored as +0.
  
 +====== Arithmetic ======
 +
 +If the run-up lever is used in conditional branching and loop repeats, it is important to know when it is set.
 +
 +The run-up lever is activated if the sign of the first operand and the result differ. If there is no systematic mapping from -0 to +0, the run-up lever is hard to predict. ​
 +
 +If two equal negative numbers were subtracted, was the result a positive zero, and the run-up lever set due to the rule that the signs differ?
 Or was the run-up lever clear, and a negative zero produced? Or was the run-up lever clear, and a negative zero produced?
  
 Or was a (positve) zero produced, and the rule that the run-up lever set if the signs differ overridden, once the result is zero? Or was a (positve) zero produced, and the rule that the run-up lever set if the signs differ overridden, once the result is zero?
  
 +Bromley (cit. p11r, //Ascerting if a variable is = 0//) writes that a conditional jump or loop was done by subtracting a number from the store in the mill (from zero) and evaluating the run-up lever. If the number is >0, the lever will be set, and the skip count from the operation card honored. If the lever is not set, because the number is ≤ 0, the skip count is discarded.
 +
 +Because this seems to be the only conditional operation, it is clear that in contrast to today'​s architectures,​ there is no conditional that can be used after any arithmetic, and the question of how the run-up lever is set, is no longer vital.

Anmelden