Hallo Forenuser Kann das funktionieren? #define togglebit(ADDRESS,BIT) (ADDRESS ^= (1<<BIT)) tex
ist aber nicht interruptsicher, aber du fragst ja auch nur KANN das funktionieren.
Hi tex, besser, Du klammerst es: #define togglebit(ADDRESS,BIT) ((ADDRESS) ^= (1<<(BIT))) In Deinem Fall kann zwar <relativ> wenig passieren, weil die Priorität der Operatoren ^= und << sehr niedrig ist. Aber stell Dir diesen Fall vor: #define SQUARE(x) x * x und dann einen Aufruf mit: b = SQUARE (a+1) Wenn das Makro expandiert wird, entsteht folgendes: b = a + 1 * a + 1 Das Ergebnis ist in diesem Fall falsch, deshalb immer klammern: #define SQUARE(x) ((x) * (x)) Grüße, Stefan Kleinwort
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.