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

Re: if-Abfrage bei Datentyp long Kategorie: Programmierung (von André H. - 11.11.2004 21:40)
Als Antwort auf if-Abfrage bei Datentyp long von Thomas - 11.11.2004 10:19

Hallo Thomas,

> eine Frage zur If-Abfrage: Hat diese Probleme mit dem Datentyp long?

Ich wei�? nicht, wo das Problem sein soll.
Ich habe diese Zeilen sicherheithalber nocheinmal sowohl im Simulator, als auch
in der CC2 getestet. Es funzt alles so, wie es soll.

>
> long a,b,r;
>
> a=0b1111111111111111;
> b=0b1000000000000000;
>
> r = a and b;
> // a and b ist ungleich Null
> // r ist ungleich Null
>
> if a and b {
>   // läuft hier aber nicht rein??
> }

Bei meinen Tests werden hier korrekt die Anweisung If-bedingt ausgeführt.

> if r {
>   // läuft hier aber nicht rein??
> }


Auch hier wird es richtig ausgeführt, da r ungleich 0, somit also true, ist.

> if r != 0 {
>   // hier funktioniert es??!!
> }


Dies mu�? auch funzen. Dies ist im Prinzip fast dasselbe, wie die vorherige If-Abfrage,
nur, da�? hier ein echter True(-1) erzeugt wird, sobald mindestens ein Bit High ist.


> r = 1;
>
> if r {
>   //mit "kleinem" r funktioniert es??!!
> }
>

Mit "klein" beziehst Du Dich auf den Wert. Natürlich mu�? das funzen. ;-)

Und hier noch das abgeänderte Testproggie, um es direkt in der CC2 zu testen:
long a,b,r;

thread main
{
 a=0b1111111111111111;
 b=0b1000000000000000;

 r = a and b;
 // a and b ist ungleich Null
 // r ist ungleich Null

 if a and b
  {// funzt
   plm.beep(5);
   sleep 250;
   plm.beep(-1);
   sleep 500;
  }

 if r
  {// funzt
   plm.beep(5);
   sleep 250;
   plm.beep(-1);
   sleep 500;
  }

 if r != 0
  {// funzt
   plm.beep(5);
   sleep 250;
   plm.beep(-1);
   sleep 500;
  }

 r = 1;

 if r
  {// funzt
   plm.beep(5);
   sleep 250;
   plm.beep(-1);
   sleep 500;
  }
 quit 1;
}

Auf der betreffenden Unit läuft z.Zt. OSOPT V3.1beta. Es ist aber in dieser Hinsicht
identisch zu OSOPT V3.0 und OSOPT_V2.

MfG André H.



Antworten bitte nur ins Forum!
Fragen per EMail auf Forum-Postings werden nicht beantwortet!

Das macht meine Heizung gerade


    Antwort schreiben


Antworten:

Re: if-Abfrage bei Datentyp long (von Thomas - 11.11.2004 21:54)
    Re: if-Abfrage bei Datentyp long (von Andr� H. - 11.11.2004 23:10)
        Re: if-Abfrage bei Datentyp long (von Thomas - 12.11.2004 0:09)
            Re: if-Abfrage bei Datentyp long (von Andr� H. - 19.11.2004 11:51)
            Re: if-Abfrage bei Datentyp long (von krassos - 12.11.2004 12:46)