Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: if-Abfrage bei Datentyp int Kategorie: Programmierung (von Wilfried - 15.06.2009 8:26)
Als Antwort auf Re: if-Abfrage bei Datentyp int von nitraM - 15.06.2009 7:40
Ich nutze:
CC2-Application-Board, OSOPT V3.1
> > Hallo zusammen,
> >
> > ich habe ein Problem bei der if-Abfrage.
> > Sobald der Wert der Vergleichsvariablen grö�?er-gleich 0x8000 ist funktioniert die Abfrage nicht mehr.
> > Beispiel:
> >
> >   int crc;
> >   crc = 0x7000;
> >   if (crc == 0x7000) hwcom.print ("OK");
> >   else                    hwcom.print ("Error");
> >
> > ergibt: "OK"
> >
> >   int crc;
> >   crc = 0x8000;
> >   if (crc == 0x8000) hwcom.print ("OK");
> >   else                    hwcom.print ("Error");
> >
> > ergibt: "Error"
> >
> > Vielen Dank für Eure Hilfe
> >
>
>
> Hallo Willfried,
> diene Abfrage funktioniert schon.... :-)
> Du hast crc als Integer definiert, somit kann die Fariable Werte von -32768 bis +32767 aufnehmen.
> 0x8000 ist allerdings 32768... => somit ist die grö�?te positive Zahl 0x7FFF....
> Wenn du einen grö�?eren Wertebereich brauchst, musst du auf long wechseln...
>
> nitraM

Hallo nitraM,

Danke für Deine Antwort.
Ich kann Deiner Erklärung jedoch nicht zustimmen, da die Operation "==" eine reine Vergleichsoperation
ist. Da darf der Wertebereich, bzw. wie die Zahl zu interpretieren ist, keine Rolle spielen.
Ich vermute, da�? da im Betriebssystem ein Bug ist.

Trotzdem Danke für Deinen Erklärungsversuch.

Wilfried


    Antwort schreiben


Antworten:

Re: if-Abfrage bei Datentyp int (von Andr� H. - 15.06.2009 10:12)
    Re: if-Abfrage bei Datentyp int (von Wilfried - 15.06.2009 12:47)