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

Re: weitere Probleme mit Datentyp Char Kategorie: Programmierung C (von PeterS - 14.04.2006 15:33)
Als Antwort auf weitere Probleme mit Datentyp Char von Hannes - 9.04.2006 16:59
Ich nutze:
C-Control Pro Mega32, C-Control Pro Mega128
Hallo Hannes,

was Du hier ansprichst ist ein Bug. Da immer intern mit 16bit gerechnet wird, mu? bei 8 Bit signed Werten
das Vorzeichen erwtiert werden. Das geht an einigen Stellen schief. Gut das Du das gefunden hast.

Gruss Peter


> Hallo,
>
> es funktioniert auch die for-Schleife nicht korrekt, sobald die Zahlenwerte negativ werden.
> Seh ich da irgendwas falsch, oder hab nur ich ein Mega32 Modul mit diesem Effekt????
>
>
> Ausgabe mit Datentyp Char:
>
> Interpreter gestartet - 2kb RAM                                                
> 5+ 4+ 3+ 2+ 1+ 255+ 254+ 253+ 252+ 251+ 250+ 249+ 248+ 247+ 246+ 245+ 244+ 243+
> 242+ 241+ 240+ 239+ 238+ 237+ 236+ 235+ 234+ 233+ 232+ 231+ 230+ 229+ 228+ 227+
> 226+ 225+ 224+ 223+ 222+ 221+ 220+ 219+ 218+ 217+ 216+
>
>
> Ausgabe mit Datentyp Int:
>
> Interpreter gestartet - 2kb RAM                                                
> 5+ 4+ 3+ 2+ 1+ -1- -2- -3- -4- -5-  
>
>
>
> _________________________________________________________
>
> char a;
>
> void main(void)
> {
>     for (a=5; a>-6; a--)
>     {
>         if (a > 0)
>         {
>             Msg_WriteInt(a);
>             Msg_WriteChar(0x2B);      // " + "
>             Msg_WriteChar(0x20);      // Leerzeichen
>         }
>         if (a < 0)
>         {
>             Msg_WriteInt(a);
>             Msg_WriteChar(0x2D);      // " - "
>             Msg_WriteChar(0x20);
>         }
>         AbsDelay(500);
>     }
>     while(1);
> }
>
> __________________________________________________________


    Antwort schreiben


Antworten:

Bis wann kann man mit dem korrigierten Interpreter/Compiler rechnen? (von Hannes - 24.04.2006 8:01)