Einzelnen Beitrag anzeigen

Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#23

Re: Was bedeutet AND?

  Alt 24. Mär 2008, 21:55
Moin Robert,

Zitat von Fussball-Robby:
Mir ist übrigens aufgefallen, dass das völliger Quatsch war, da das AND bei der If-Abfrage das gleiche ist wie das andere. Da wird ja auch nur überprüft, ob das Bit beim Ergebnis der beiden If-Abfragen gesetzt ist, und nur wenn beide gesetzt sind, ergibt AND = true.
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 verwendet (wie bei (i and 1)) werden hingegen beide Seiten berücksichtigt. Ansonsten würde (i and 1) true ergeben, wenn i ungleich 0 ist, und false, wenn i gleich 0 ist.
In C gibt es dafür auch zwei verschiedene Symbole nämlich && für den Vergleich und & für die bitweise Verknüpfung.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat