Re: Float Dateityp Kategorie: Programmierung C (von PeterS - 10.04.2010 8:50) | |
Als Antwort auf Float Dateityp von Josef - 9.04.2010 22:08
| |
> Hallo zusammen, > > wieviel Stellen kann man mit dem Dateityp float anzeigen. > > Ich habe folgendes Problem, > ich kann den Dateityp float bis max 8 Stellen vordem Komma anzeigen, > dann ändert sich der Inhalt der Variablen. > > Hier ein Beispiel: > > #define CR 0x0D > //------------------------------------------------------------------------------ > // Hauptprogramm > // > void main(void) > { > byte cnt; > float startcnt; > char Str_startcnt[32]; > char Zeichenkette[100]; > > for (cnt=0;cnt<32;cnt++) Str_startcnt[cnt]=0; > startcnt=100000003.0; > Msg_WriteFloat(startcnt); > Msg_WriteText(" = "); > Str_Printf(Str_startcnt, "%25.0f",startcnt); > Str_Copy(Zeichenkette,Str_startcnt,0); > Msg_WriteFloat(startcnt); > Msg_WriteText(" STRING: "); > Msg_WriteText(Str_startcnt); > Msg_WriteChar(CR); > } > > Und hier das Ergebnis: > > Interpreter gestartet - 4kb RAM > 100000000.00000 = 100000000.00000 STRING: 100000000 > > Zeit: 20ms > Interpreter gestoppt > > Warum wird die Variable verändert? Vielleicht kann mirjemand helfen. > > Gru� > Josef Hi Josef, 4 byte floating point (IEEE 754) Zahlen haben nur ca. 7 Stellen Genauigkeit. Das ist also alles richtig. Gruss Peter | |
Antwort schreiben Antworten: Re: Float Dateityp (von Josef - 10.04.2010 18:15) |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum