MW Vergleichen

bigannang

Level-1
Beiträge
5
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo allerseits,

Ich habe folgende Probleme, Ich möchte ein MW 54 mit ein #HilfMW 1 vergleichen aber bitweise dh:

der MW 54 hat 16bit und ich möchte aber die bits 1,2 und 3 mit mein #HilfMW vergleichen wobei ich in der HilfMW den Inhalt selbst bestimme zB. HilfMW = 0011 1101.....

wie Kann ich denn die Beide MW bitweise vergleichen ?
 
Soll nur ein Unterschied oder Gleichheit rauskommen oder sind nicht alle Bits zu vergleichen? Oder wird bei jedem Bit, z.B. wenn unterschiedlich, etwas anderes ausgeführt?
Ansonsten eignet sich auch für Bitvergleiche die XOR-Verknüpfung. Bei Gleichheit ist das Ergebnis 0, bei Ungleichheit ist es 1.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
so wie ich es verstanden habe heißt das Zauberwort "maskieren" ...
Ich würde es also so machen :
Code:
L  MW 54
L  Vergleichswort
UW
L  Vergleichswort
==I
=  M "Bits stimmen überein"
 
Die Bits sollen alle nicht verglichen werden, es gibt 6 Stufe und in jeder Stufe vergleiche ich einzelnen Bits zB. in Stufe 1 vergleiche ich bit 1,2 und 3 mit dem HilfMW und dafür benutze ich in der Bibliothek Vergleicher: CMP>=I ; Wenn MW 54 bit 1,2 und 3 größer oder gleich HilfMW 0001 1111 ist dann soll der Ausgang gesetzt werden.

Das Problem bei mir ist dass ich nicht weiss wie ich diese MW 54 schreiben soll so dass nur die Bits 1,2 und 3 verglichen werden.
 
@Larry:
Stimmt meiner Meinung nach nicht ganz. Beispiel (binär) MW = 1111 HM = 1010. Das UW ergibt den HM, die beiden sind aber nicht gleich. Deshalb wird das XOW in solchen Fällen angewand. Wenn dann das Ergebnis 0 ist, sind alle Bits gleich. Die Frage ist aber, ob auf die einzelnen Bits irgendwie reagiert werden soll. Dann das XOR Bitweise durchführen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
...?
Habe ich jetzt immer noch nicht verstanden ...
Wenn du überprüfen willst, ob im MW54 die Bits 1 - 3 gesetzt sind dann wäre die Befehlsfolge dafür :
Code:
L MW 54
L 2#00001110 00000000
UW
L 2#00001110 00000000
==I
= M "so isses"
 
Die Bits sollen alle nicht verglichen werden, es gibt 6 Stufe und in jeder Stufe vergleiche ich einzelnen Bits zB. in Stufe 1 vergleiche ich bit 1,2 und 3 mit dem HilfMW und dafür benutze ich in der Bibliothek Vergleicher: CMP>=I ; Wenn MW 54 bit 1,2 und 3 größer oder gleich HilfMW 0001 1111 ist dann soll der Ausgang gesetzt werden.

Das Problem bei mir ist dass ich nicht weiss wie ich diese MW 54 schreiben soll so dass nur die Bits 1,2 und 3 verglichen werden.
Haben die einzelnen Bist eine separate Bedeutung oder sind nur die Gruppen der Bits interessant? Schreib einfach mal genauer (ohne Bibliothek) was wann passieren soll. Das Zauberwort heißt wirklich maskieren.
 
Zurück
Oben