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 | ||
| ||
> > 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) |