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)