Re: Fehlerhafte Werte in der Ausgabe Kategorie: IDE (von ThomasK - 21.11.2014 22:13) | ||
Als Antwort auf Re: Fehlerhafte Werte in der Ausgabe von Max - 20.11.2014 17:10 | ||
| ||
> > > > Hallo, > > > > Im Testlauf meines Programms ist mir aufgefallen, > > > > dass der ausgegebene Wert mit Msg_WriteFloat > > > > nicht mit dem tatsächlichen Wert der Variablen übereinstimmt. > > > > Siehe Screenshot . > > > > Grü�e Max > > > > > > Hallo, > > > hier noch ein Nachtrag. > > > Mit den Falschen Zahlen. > > > > > > Meine Variablen sind wie folgt deklariert: > > > Dim arCode(60) As ULong > > > Dim vStr(21) As Char > > > > > > In vStr steht zB. 92258231 > > > arCode(vZeile - 2) = Str_ReadFloat(vStr) > > > Daraus wird in arCode 92258232 > > > > > > Der Fehler tritt erste bei grö�eren 8stelligen Zahlen auf. > > > Die Zahl 12728630 bereitet keine Probleme. > > > > > > Zum Zweiten habe ich an Stelle von > > > Str_ReadFloat Str_ReadNum (base=10) verwendet. > > > Hier kommen völlig falsche Zahlen dabei raus, > > > auch bei kleineren Zahlen. > > > > > > Grü�e Max > > > > > > PS: Es hat den Anschein als ob in diesem Forum nur einmal > > > die Wochen ein Entwickler vorbeischaut. Schön wäre wenn > > > wenigsten einmal kurz eine kleine Antwort kommen würde, > > > dass man sich der Sache annimmt aber jetzt > > > keine Zeit dafür hat. > > > > > > C-Control Pro AVR32 > > > > > > Hallo, > > > > unser "Software Peter" ist leider derzeit etwas verhindert und Software Interna > > kann Ich nur begrenzt was genaues sagen... > > > > Kannst Du mal das ganze Testprogramm posten? > > PS: Bei einen Neustart die Variablen immer auf einen Startwert initialisieren > > sonst steht da "Müll" drinn... > > > > Grü�e Ulli > > > > > > Hallo, > leider ist der Fehler immer noch nicht behoben. > Wird da noch was gemacht? > Gibt es den Software Peter noch. > > Gru� Max Hallo Max, Ich bin zwar nicht der "Software Peter". Aber: Dein Problem mit den float-Zahlen wird sich nicht lösen lassen. Die interne Darstellung der float-Zahlen erlaubt nur 7 'signifikante' Stellen. Das heisst, dass bei allen folgenden Beispielen die '8' und die darauf folgenden Ziffern nicht gespeichert werden können: 1234567.890 12.34567890 123456789000000 0.0001234567890 Das ergibt sich aus der Abspeicherung in 32 Bits, von denen 9 Bits für Exponent und Vorzeichen verwendet werden. Bei Deinen Experimenten mit Str_ReadNum() bist Du über eine andere Grenze gestolpert: Str_ReadNum() arbeitet nur mit Word-Variablen, welche einen Wertebereich von 0 bis 65535 haben. Wenn Du damit einen Wert >= 65536 umwandeln willst, kommt dabei nur noch Müll raus. Gruss Thomas | ||
Antwort schreiben Antworten: Re: Fehlerhafte Werte in der Ausgabe (von Max - 23.11.2014 14:57) |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum