LOGO Logo!8 --> wie kann ich die Logo davon überzeugen, mit Nachkomma- Stellen zu rechnen ?

mega_ohm

Level-2
Beiträge
884
Reaktionspunkte
93
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Forum,

wie kann ich mit der Logo! mit Nachkomma- Stellen rechnen ?
z.Bsp.: 50 / 43 = 1,163

Ich benötige die Nachkomma- Stellen, weil ich mit dieser Zahl weiter rechnen will - Die Logo zeigt mir "1" und rechnet damit auch nur weiter.
Somit entsteht ein sich "aufsummierender Fehler".

Nun könnte ich das Ergebnis mit 1000 multiplizieren, würde dann als Ergebnis = 1163 erhalten --> Da wären ja schonmal viele gute Zahlen dabei, nur die Kommastelle stimmt eben nicht.
Oder ist es wirklich der Weg, dass ich erst mit dieser 1163 weiterrechne und dann zum Schluss meiner Rechnungen das Ergebnis noch durch 1000 teilen muss ?

Gibt es einen anderen Weg, den ich nicht sehe ?

Mfg
mega_ohm
 
Hallo Forum,

Ok... Problem gelöst !
Multiplikation mit 1000 überschreitet den WORD- Bereich bei weiterer Berechnung.
--> also Ergebnis * 100 --> dann weiter rechnen --> zum Schluss Ergebnis /100 teilen.

Dann ist die Abweichung in einem vertretbaren Bereich. (natürlich fehlen die Nachkomma- Stellen - aber für diese Anwendung geht es dann um
°C im Nachkomma- Bereich - und es wird kein Labor ! )

Mfg
mega_ohm
 
Zuviel Werbung?
-> Hier kostenlos registrieren
1. wie kann ich mit der Logo! mit Nachkomma- Stellen rechnen ?
z.Bsp.: 50 / 43 = 1,163

2. Nun könnte ich das Ergebnis mit 1000 multiplizieren, würde dann als Ergebnis = 1163 erhalten --> Da wären ja schonmal viele gute Zahlen dabei, nur die Kommastelle stimmt eben nicht.
Zu 1.:
Gar nicht. Du könntest z.B. 1000 x 50 / 43 rechnen. Aber ein Komma wird deswegen nicht erscheinen.
Du kannst lediglich für AnzeigeZwecke die Position eines Kommas angeben.

Zu 2.:
Zu spät! Siehe oben. 1 x 1000 ergibt nämlich 1000 und nicht 1163.

Einfach die Dimensionen der Zahlen günstiger festlegen. Z.B. mm oder cm oder dm statt m. Oder d°C oder c°C statt °C u.s.w. ...
 
Hallo Heinileini,
Zu 1.:
Gar nicht. Du könntest z.B. 1000 x 50 / 43 rechnen. Aber ein Komma wird deswegen nicht erscheinen.
Du kannst lediglich für AnzeigeZwecke die Position eines Kommas angeben.

Zu 2.:
Zu spät! Siehe oben. 1 x 1000 ergibt nämlich 1000 und nicht 1163.

Einfach die Dimensionen der Zahlen günstiger festlegen. Z.B. mm oder cm oder dm statt m. Oder d°C oder c°C statt °C u.s.w. ...
Ich hatte
wie kann ich mit der Logo! mit Nachkomma- Stellen rechnen ?
z.Bsp.: 50 / 43 = 1,163
gerechnet und das Ergebnis (1,163) mit 1000 multipliziert.
Damit hatte ich einen Bereichsüberlauf bei weiteren Rechnereien und hatte mich deshalb für die Formel
(50 / 43 )*100 und am Ende meiner Rechenkünste für [Ergebnis]/ 100 entschieden.
Natürlich bekomme ich damit kein Komma "gezaubert" - aber es funktioniert (mit Abweichungen im Nachkomma- Bereich der Temp. )

Ich gebe Dir recht, dass man manchmal die Ergebnisse besser dimensionieren sollte. Bei mm <-> m etc. ist das allgemein 'geläufig'.

Bei
d°C oder c°C statt °C
verstehe ich als Programmierer ja noch nicht einmal die Einheit (Dezi-°C oder Zenti°C ???? )

Ich glaube, um diese Maßeinheiten nicht verwenden zu müssen, baue ich lieber noch eine 2. Logo! ein und verdrahte die mit einem
Taschenrechner.

Mfg mega_ohm
 
Damit hatte ich einen Bereichsüberlauf bei weiteren Rechnereien und hatte mich deshalb für die Formel
(50 / 43 )*100 und am Ende meiner Rechenkünste für [Ergebnis]/ 100 entschieden.
Natürlich bekomme ich damit kein Komma "gezaubert" - aber es funktioniert (mit Abweichungen im Nachkomma- Bereich der Temp. )
(50 / 43)*100 funktioniert bei der LOGO eben nicht, mega_ohm!
Es kommt auf die Reihenfolge der Operationen an! Du musst (50*100)/43 rechnen, sonst erhältst 100 als Ergebnis.
Die zusätzlichen Stellen im Ergebnis sind zwar vorhanden, aber sie sind 0, weil ihr Wert bei der Berechnung 50/43 schon verloren gegangen ist.
Durch nachträgliches Multiplizieren mit z.B. 100 oder 1000 lassen sie sich nicht rekonstruieren. Darum sagte ich : "zu spät".
verstehe ich als Programmierer ja noch nicht einmal die Einheit (Dezi-°C oder Zenti°C ???? )
Das geht vielen so, aber Dir glaube ich das nicht! Du lässt doch durchblicken, dass Du es sehr wohl verstanden hast!
Ich glaube, um diese Maßeinheiten nicht verwenden zu müssen, baue ich lieber noch eine 2. Logo! ein und verdrahte die mit einem
Taschenrechner.
Auch ich arbeite lieber mit Taschenrechnern als mit der LOGO. Deshalb habe ich mehrere Taschenrechner, aber keine einzige LOGO ;)

Was ich bei der LOGO ganz übel finde: das Runden bei Divisionen, das sich meines Wissens nicht umgehen lässt.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
(50 / 43)*100 funktioniert bei der LOGO eben nicht, mega_ohm!
Es kommt auf die Reihenfolge der Operationen an! Du musst (50*100)/43 rechnen, sonst erhältst 100 als Ergebnis.
Innerhalb einer arithmetischen Anweisung spielt die Reihenfolge keine Rolle. Da ist die Rechengenauigkeit auch höher als 16 Bit.
Die Begrenzung auf 16 Bit und der Verlust der Nachkommastellen passieren erst bei der Ausgabe aus dem Baustein.

Und man muss sich halt insgesamt um die Anzeige der Kommaposition selber kümmern.
Sprich, sich vorher überlegen, in welchen Bereichen die zu erwartenden Ergebnisse vermutlich liegen werden und diese möglichst günstig in den Integerbereich von -32.768 bis 32767 zu verlegen, um die Rechenverluste gering zu halten:

1628951748783.png

Die Logo kann allerdings in der Anzeige das Komma nur um 3 Stellen "verschieben".
Kommt also auch drauf an, was man so als nächstes mit der Zahl anstellen möchte.
 
Innerhalb einer arithmetischen Anweisung spielt die Reihenfolge keine Rolle. Da ist die Rechengenauigkeit auch höher als 16 Bit.
Die Begrenzung auf 16 Bit und der Verlust der Nachkommastellen passieren erst bei der Ausgabe aus dem Baustein.
Donnerwetter! Dann ziehe ich hiermit meine Falschaussage zurück, hucki.

Ich weiss definitiv, dass ich (bei der Simulation) anfangs mal den Fall hatte, dass bereits innerhalb diverser RechenOpertionen in einem ArithmetikBaustein die Nachkommastellen verloren gingen ... und habe es seither einfach nicht mehr darauf ankommen lassen ... :oops:

Häwenaissuiikendoruatsleftowit!
 
Wie gesagt, nur innerhalb der gleichen Arithmetischen Anweisung.
Integerausgabe ("Analogwert" bei der LOGO) und Referenzierung sind immer ganzzahlig im INT-Bereich.

Intern kann man z.B. auch erst 50 x 10.000 rechnen, wo das Zwischenergebnis von 500.000 deutlich aus dem INT-Bereich heraus ist, aber das Endergebnis passt immer noch:
1628955773244.png
 
Zurück
Oben