Re: Fehlerhafte Werte in der Ausgabe Kategorie: IDE (von Max - 23.11.2014 14:57) | |
Als Antwort auf Re: Fehlerhafte Werte in der Ausgabe von ThomasK - 21.11.2014 22:13
| |
> > > > > 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 Hallo Thomas, Danke für die Antwort. Es währe auch super, wenn solche Sachen in der Hilfe stehen würden. Da steht ja immer nur das nötigste. Gru� Max | |
Antwort schreiben Antworten: |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum