Allgemeine Fragen zur PROFAN Programmierung
Views (Heute): 249138 (10574)
  Suchen
 Zurück zur Übersicht
 AutorThema: And(1,4) = 0 ?
René Bühling
Datum:01.03.02 05:21 Antwortenals Email verschicken (Rene.Buehling@gmx.de) 


Hallo,

die Beschreibung der And-Funktion aus der Profan²-Hilfe:
"Die Werte von N1 und N2 werden mit der AND-Funktion verknüpft. 
Das Ergebnis ist 0 wenn ein oder beide Werte 0 sind."

Warum ist dann @and(1,4) = 0 ?
Das Ergebnis ist 0 obwohl beide Werte ungleich 0 sind.

Gruß
René


Roland G. Hülsmann
Datum: 01.03.02 08:56 Antwortenals Email verschicken (rgh-soft@t-online.de) 


Hallo René,

die Funktionen @AND, @OR und @XOR arbeiten binär, d.h. die Werte werden bitweise vergleichen. Ist ein Bit in einem oder beiden Werten 0 ist das entsprechende Ergebnisbit auch 0; ist das Bit hingegen in beiden Werten 1 (= gesetzt), ist es im Ergebnis auch 1. In Deinem Beispiel:

Wert 1 = 4 = 00000100
Wert 2 = 1 = 00000001

Ergebnis 0 = 00000000

@and(1,4) ist demnach 0

Hinweis: Für @AND und @OR gibt es inzwischen die Operatoren & und |!

Wichtig: Die Operatoren AND und OR sind für den Einsatz bei IF und CASE gedacht und arbeiten logisch. Hier werden die Operanden nicht bitweise, sondern als Ganzes betrachtet. Beispiel AND: Wenn einer der beiden Ausdrücke unwahr (=0) ist, ist der gesamte Ausdruck unwahr (=0). Jeder Ausdruck der ungleich 0 ist, wird als wahr betrachtet.
1 AND 4 ist dann demzufolge wahr, intern dargestellt als 1.

Gruß
Roland


 Zurück zur Übersicht