| hronny |
|
|
User
Registered at: 19.01.2016
Messages: 109
|
Hi die Berechnungsfunktion in der Logik ist super. Leider habe ich jetzt festgestellt, dass auf Grund einer festen 32bit Berechnung es extrem wichtig ist die Reihenfolge bei der Berechnung zu beachten. Es macht unter Umständen viel aus, ob man die Gleichung so eingibt: 100*i[1]/80 oder so 100/80*i[1] Mathematisch gesehen kommt das gleiche Ergebnis herraus. Nur nicht in der Logik. Ich vermute, dass intern der Eisbär keine Gleitkommawerte benutzt und deshalb unterschiedliche Ergebnisse herauskommen. Vielleicht kann man für solch eine genaue Berechnung eine eigene Logikkomponente einwerfen, um nicht an Performance zu verlieren :roll: Ich wollte es nur mal sagen, falls jemand anderes das gleiche Problem hat. PS: So ganz nebenbei an die Entwickler: Wie ist das gemeint "Als Operatoren stehen die meisten C#/C++ Operatoren zur Verfügung"? Eigentlich gehen doch nur die Grundrechenarten. Zumindest andere klassische C Funktionen wie Wurzel oder Faktor funktionieren nicht oder ich habe den Befehl vergessen :-D Viele Grüße |
|---|---|
| 20.01.2010 12:23 |
| Alexander |
|
|
Moderator
Registered at: 19.01.2016
Messages: 960
|
Hallo, die Berechnung ist entweder boolesche Logik oder Integerarithmetik. Daraus resultiert auch der beobachte Rundungsfehler. Hier stehen folgende Operatoren zur Verfügung: Hier noch zwei Links zu möglichen C#-Operatoren: mathematischen Funktionen: Operatoren: |
|---|---|
| 07.03.2010 14:23 |
Visualisation, tools and hardware for KNX, Modbus & building automation.
Alexander Maier GmbH · Beckstraße 3 · D-69412 Eberbach
+49 (0) 6271.919470 · info@busbaer.de