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)