Re: Probleme bei der Division von Variablen. Kategorie: Programmierung (von Fischbeck - 19.02.2003 17:04) | |
Als Antwort auf Re: Probleme bei der Division von Variablen. von Willi aus Oelde - 19.02.2003 16:56
| |
Besten Dank Willi, Ich habe auch gerade bemerkt, dass es besser ist nur Float Typen zuverwenden, dann klappt das auch, allerdings hatte ich die Variable Wert über die Hardware-RS232-Schnittstelle ausgelesen und den Typ halt mit Integer versehen, aber dann probier ich das mal gleich von vorn herein mit float. > Hallo erst mal..... > > ich denke bei der Berechnung kommt "0" heraus, da angeblich immer mit der Genauigkeit der > "minderwertigsten" ( hier int, also ganzzahlig ) gerechnet wird. Du solltes nur "float" Variablen > nutzen oder die Werte entsprechend x 1000 nehmen wenn es um Geschwindigkeit geht. > In der Anzeige kann man das Komma ausgeben wo man will ! > > Da 13 / 128 etwa 0,10156 ist, sollte "0" rauskommen. > Ich habe es aber nicht ausprobiert ! > > Grü�e, > Willi aus Oelde > > > > > Guten Tag! > > Ich bin ein Newbie und habe ein kleines Problem mit der Operatoren-Struktur bzw. Syntax. > > In dem Buch zur C-Control II ist auf Seite 61 Kapitel 5.7.1 eigentlich für mich ausreichend beschrieben, > > allerdings gibt es bei mir Probleme bei der Divisionsberechnung in einer Formel. > > Es soll einfach der Wert einer Variable durch einen anderen Wert dividiert werden und dieser dann in > > einer anderen Variable abspeichert werden. Dabei kommt allerdings immer ein falscher Wert heraus. > > Eigentlich für jede andere Programmiersprache kein Problem, aber hier funtzt es leider nicht, aber vielleicht hab ich auch etwas nicht beachtet. > > > > Hier mein code: > > > > thread main > > { > > float ergebnis; > > int wert; > > > > wert=13; > > ergebnis=wert/128; > > } > > > > Bei Addition, Subtraktion oder Multiplikation wird der Wert auch richtig berechnet, nur bei der Division nicht. > > Warum ist das so? Ich bekomme zwar keine Fehlermeldung, aber das Ergebnis stimmt nicht. > > > > Wenn ich zwei Zahlen z.B "13/128" schreiben würde, dann wird der Wert richtig berechnet. Nur wenn ich halt wie im obigen Code > > Anstelle des Wertes eine Variable platziere, dann klappt das nicht. > > > > Achso, um mir den Wert anzeigen zulassen wandele ich den Float-Wert mit der Funktion > > "str.putfloatf(ausgabe, ergebnis, 7)" um, wobei ausgabe vom Typ String ist. Und dann gebe ich über das Modul > > "lcdext" den aktuell berechneten Wert aus. Das klappt auch alles wunderbar, nur dass er die division nicht richtig > > ausführt. > > > > Wäre lieb, wenn mir jemand von Euch helfen könnte. > > > > MfG. Fischbeck | |
Antwort schreiben Antworten: Re: Probleme bei der Division von Variablen. (von Martin Binder - 20.02.2003 13:33) |