Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

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: