Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > 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. > > > <code> > > 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?? > > }</code> > Bei meinen Tests werden hier korrekt die Anweisung If-bedingt ausgeführt. > > > <code>if r { > > // läuft hier aber nicht rein?? > > }</code> > > Auch hier wird es richtig ausgeführt, da r ungleich 0, somit also true, ist. > > > <code>if r != 0 { > > // hier funktioniert es??!! > > }</code> > > 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. > > > > <code>r = 1; > > > > if r { > > //mit "kleinem" r funktioniert es??!! > > } > > </code> > 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: > <code>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; > }</code> > 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.