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

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
analyticalengine:whichcomplement [2015-04-21 09:42]
rainer created
analyticalengine:whichcomplement [2015-06-01 08:47] (aktuell)
rainer Two zeros according to Bromley; rewritten
Zeile 1: Zeile 1:
 +====== Two Zeros ======
  
 +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.
  
-Did the Analytical Engine have a minus Zero in addition ​to a the normal (plus) zero?+According ​to Tim Robinson, values were always stored as +0.
  
-In other words:+====== Arithmetic ======
  
-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?+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, +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? 
-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