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!
XNOR in Python?
-
- Python-Forum Veteran
- Beiträge: 2010
- Registriert: Freitag 11. Oktober 2002, 18:00
- Wohnort: Salzburg
- Kontaktdaten:
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
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
[code]#!/usr/bin/env python
import this[/code]
import this[/code]
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
?
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
?
-
- Python-Forum Veteran
- Beiträge: 2010
- Registriert: Freitag 11. Oktober 2002, 18:00
- Wohnort: Salzburg
- Kontaktdaten:
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.
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
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
Gruß
Dookie
[code]#!/usr/bin/env python
import this[/code]
import this[/code]