Télécharger Imprimer la page

Sinclair ZX81 Mode D'emploi page 104

Publicité

DEBUGGING V
Zahlen, die gleich aussehen, sind es manchmal gar nicht.
Die Art von Fehlern, nach denen wir bishergesucht haben, hatten wir uns selbst
zu verdanken und waren, einmal erkannt, vergleichsweise leicht zu beheben. Es
gibt eine andere Art von Fehler, die durch die Bauart des Geräts selbst hervor ­
gerufen werden. Das ist kein Konstruktionsfehler, sondern eine Folge des inne ­
ren Aufbaus aller
omputer. Es hat zu tun mit der Präzision, mit der
omputer
Zahlen speichern. Wenn wir uns durch den Kopf gehen lassen, wie Zahlen im
allgemeinen festgehalten werden, zeigt sich rasch, daß für die Zahl der Stellen,
die festgehalten werden können, eine Grenze besteht. So kann etwa der Kilo ­
meterzähler eines Autos nur sechs Stellen aufnehmen, weil er nur 6 "Fenster"
besitzt. Bei einem
omputer ist das genauso. Keine Zahl kann mehr besetzen als
eine feste Zahl von "Fenstern". Allerdings entspricht nicht jedes Fenster einer
Dezimalstelle. Der interne Maschinencode für Zahlen unterscheidet sich von
der Art, wie wir sie uns vorstellen, grundlegend, und mit den gräßlichen Einzel ­
heiten möchte ich Sie gar nicht langweilen. Die Tatsache, daß aus Prinzip
Ungenauigkeit und eine
odeumwandlung verwendet werden, bedeutet, daß
die äußere Darstellung einer Zahl (wie auf dem Bildschirm angezeigt) nicht
ganz daselbe sein muß wie die innere Darstellung. Ich will Ihnen ein Beispiel für
das Gemeinte anhand der Logarithmen geben, die wir aus der Schulzeit kennen.
Wenn Sie logarithmisch 2 mit 2 multiplizieren, erhalten Sie:
Zahl
Log
2
0.3010
2
0.3010
3.999
0.6020+
also 2 x 2 = 3.9991!
Die Ungenauigkeit rührt daher, daß Logarithmen nur bis zu 4 Stellen genau sind
(sie dürfen also nur 4 Fenster einnehmen) und eine
odeumwandlung (Zahl in
Logarithmus, Logarithmus wieder in Zahl) stattfindet.
Hier ist ein Programm, das dieselbe Art von Problem hervorruft:
10
FOR P = 0TO .3 STEP .01
20
LET Q = ATN(TAN(P))
30
IF P <> QTHEN PRINT P, Q
40
NEXT P
Mit Zeile 10 suchen wir die Tangente von P und kehren den Prozeß sofort
um, indem wir den Arkustangens des Resultats suchen. Mit anderen Worten: Q
sollte denselben Wert haben wie P. Zeile 30 dürfte also nie die Wirkung haben,
P und Q anzuzeigen, weil sie immer gleich sind. Wenn das Programm gefahren
wird, erhalten wir folgende Ausgabe:
102

Publicité

loading

Produits Connexes pour Sinclair ZX81