Seite 1 von 1
XNOR in Python?
Verfasst: Donnerstag 28. Oktober 2004, 13:21
von Gast
Hallo,
gibts in Python auch einen XNOR-Operator oder eine XNOR-Funktion? XOR geht ja mit "^"
Hab schon not (zahl1 ^ zahl2) getestet, funktioniert aber nicht
Wär echt toll wenn einer von euch Profis mir weiterhelfen könnte!
Verfasst: Donnerstag 28. Oktober 2004, 13:52
von Dookie
Hi Gast,
XNOR kannst du erhalten indem du das Ergebnis der XOR Verknüpfung negierst
~(zahl1 ^ zahl2)
Hier wirst Du aber immer eine Negative Zahl herausbekommen, du kannst aber die Anzahl der bits die du brauchst mit & ausmaskieren.
~(zahl1 ^ zahl2) & ((1<<bits)-1)
Gruß
Dookie
Verfasst: Donnerstag 28. Oktober 2004, 14:08
von Gast
Hi Dookie,
danke für die schnelle Antwort! Nur das mit dem Shift versteh ich nicht..
Was is der unterschied zwischen
~(zahl1 ^ zahl2) & ((1<<bits)-1)
und
~(zahl1 ^ zahl2) / -1
?
Verfasst: Donnerstag 28. Oktober 2004, 15:02
von Dookie
hehe das kommt noch aus meinen alten Assemblerzeiten auf dem C64 und dem Amiga.
Mit dem Shift und dem And kannst Du genau die Anzahl der Bits bestimmen. Bei 4 Bits z.B.
Code: Alles auswählen
>>> ~(3 ^ 5)/-1
Out[22]: 7
>>> ~(3 ^ 5) & ((1<<4)-1)
Out[23]: 9
werden alle Bits berücksichtigt was zum korrekten Ergebnis 9 bei der berechnung 3 XNOR 5 führt 0011(3) XOR 0101(5) ergibt 1001(9) und nicht 0111(7)
Gruß
Dookie