[Allegro] a99-Fehler bei Umwandlung in Zahl

Bernhard Eversberg ev at biblio.tu-bs.de
Mi Aug 1 11:23:39 CEST 2007


Heinrich Allers schrieb:
> 
> 
> var "13 ab/cde"\ins #ux1
> var #ux1\=\var Z\mes
> 
> ließ mindestens noch unter a99.exe vom 5.9.2005 korrekt das Ergebnis 
> '13' aufscheinen.
> 
> Mit a99.exe vom 13.7.2007 erscheint als Ergebnis der gleichen 
> Flexbefehlfolge eine "Unzahl", nämlich eine 1 mit einer Unzahl von 
> Nullen dahinter.
> 
300 Stück, also die dritte Potenz der bekannten Unzahl namens Googol,
die nur 100 Nullen hat (und damit immer noch viel kleiner ist als z.B.
die Anzahl aller von Google indexierten Buchstaben).

Auf den ersten Blick zwar unerfreulich, aber es ist denn doch
zu loben, daß es keinen Absturz gibt oder ein zahlenmäßig unbrauchbares
Resultat wie "divide error"

Das kommt, weil jetzt der Befehl = (oder gleichwertig Z=) den Inhalt
der iV nimmt und rechnerisch auswertet (wie eval ...) statt, wie bisher,
nur die Ziffern darin zu suchen und in eine Zahl umzuwandeln.  Der
rechnerische Wert von cde ist jedoch 0...

Bei z= passiert das nicht. Da bleibt's beim alten, d.h. es wird die
Zahl (als ganze Zahl) herausoperiert und sonst nichts.

MfG B.E.






Mehr Informationen über die Mailingliste Allegro