Tagchen Ist es nicht das gleiche zu schreiben: entweder
1 | while ( myVar & 1 = 0 ) |
oder
1 | while ( myVar = 0 ) |
oder was bedeutet der Unterschied?
|
|
Forum: Mikrocontroller und Digitale Elektronik Unterschied while ( myVar & 1 = 0 ) und while ( myVar = 0 )Tagchen Ist es nicht das gleiche zu schreiben: entweder
oder
oder was bedeutet der Unterschied? Nein. Das erste compiliert nichtmal und das zweite setzt myVar auf 0 und macht dann ohne die Schleife einmal zu durchlaufen weiter. Vermutlich wolltest du folgendes?
Hier testet die erste Variante nur das niedrigste Bit von myVar auf 0 und die zweite Variante den ganzen Wert. Sebastian V. schrieb: > Nein. Das erste compiliert nichtmal und das zweite setzt myVar auf > 0 und > macht dann ohne die Schleife einmal zu durchlaufen weiter. Vermutlich > wolltest du folgendes? > while((myVar & 1) == 0) // Klammern sind wichtig da == höhere Priorität > als & hat > > while(myVar == 0)Hier testet die erste Variante nur das niedrigste Bit > von myVar auf 0 > und die zweite Variante den ganzen Wert. Ah, vielen Dank! Jetzt ist es klar. ps, ja, meinte bei beiden '==', danke für das Weiterdenken und die Erklärung. searched schrieb: > while ( myVar & 1 = 0 ) myVar & 1 bedeutet hier, dass du hier die Bitmaske vergleichen tust. Z.B. myVar=7; ==> 0b111 & 0b1 ergibt 0b1 und sagst du 1=0. D.H. while(0); mfg Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.
|
|