Forum: Programmieren allgemein
by Christian Seehase,
24. Mär 2008
Moin Robert,
Da sag' ich mal Jain.
In der Standardeinstellung ist "Complete boolean evaluation" abgeschaltet. Ein logischer Ausdruck in einer (if)-Abfrage wird also, standardmässig, nur soweit ausgewertet, bis entschieden ist, wie das Ergebnis ausieht. Hast Du da also ein AND stehen, wird der Ausdruck rechts vom AND nicht mehr geprüft, wenn der linke schon false ergibt.
Als Operator...
Forum: Programmieren allgemein
by Christian Seehase,
23. Mär 2008
Moin Robert,
in Deinem Beispiel wird AND als Operator eingesetzt, um jeweils ein bestimmtes Bit von i zu testen.
Die Werte hinter dem AND entsprechen jeweils einer Zweierpotenz (1 = 2^0, 2 = 2^1, 4 = 2^2 usw.)
Ist das jeweilige Bit in i gesetzt, ist der Wert > 0.