Re: Fehler im OS Kategorie: Programmierung (von André H. - 26.09.2002 7:25) | |
Als Antwort auf Fehler im OS von Wolfgang H. - 25.09.2002 22:53
| |
Hallo Wolfgang, Das ist kein Fehler. Der C164 der CC2 ist ein 16Bit-Controller. D.h. auch das Standardzahlenformat ist 16Bit(Integer). Alle Werte in Deiner Berechnung sind Integer-Werte. Somit erfolgt die Berechnung auf 16-Bit-Ebene. So passiert bei Deiner ersten Funktion nach 9 Uhr ein �berlauf des Integers. (Ergebnis > 32767) Verwendest Du aber in der Berechnung eine Variable mit einem grö�eren Bereich, dann berechnet der Compiler alles mit diesem Varabel-Typ. Bei Deiner zweiten Funktion ist das float. Aber Du solltest dafür kein float sondern lieber long verwenden, da erstens eine float-Zahl 8Byte RAM und zweitens viel Rechenzeit benötigt: long BeginGraph; function BeginZeit() { long hour; hour=system.hour(); BeginGraph=(hour*3600)+(system.minute()*60)+system.second(); } MfG André H. > ist das ein Fehler oder hab ich einen? > > Wieso funktioniert das nicht! > function BeginZeit() > { > BeginGraph=(system.hour()*3600)+(system.minute()*60)+system.second(); > } > > > das geht! > function BeginZeit() > { float x; > x=system.hour(); > BeginGraph=(x*3600)+(system.minute()*60)+system.second(); > } > > mfg Wolfgang H. Antworten bitte nur ins Forum! Fragen per EMail auf Forum-Postings werden nicht beantwortet! Das macht meine Heizung gerade | |
Antwort schreiben Antworten: Re: Fehler im OS (von Wolfgang H. - 26.09.2002 10:55) |