Hallo,
ich würde gerne wissen ob es in C eine Möglichkeit gibt 2 Bit Variablen zu vergleichen.
Z.B. würde ich gerne bei
a=01100011101010011101011010010110 (32 Bit)
b=00000110 (8 Bit)
die letzen 4 Bits von b mit den niederwertigen Bits von a vergleichen. Ich weiß, dass ich eine Bedingung brauche die mir 0 oder 1 zurückgibt, je nachdem ob die letzten 4 Bits identisch sind oder nicht.
Gruß,
Azad
Bits vergleichen
- cloidnerux
- Moderator
- Beiträge: 3123
- Registriert: Fr Sep 26, 2008 4:37 pm
- Wohnort: Ram (Gibts wirklich)
Re: Bits vergleichen
Du kannst die Ints "maskieren" mit den Bitweise Operatoren(&, |, ^, ~). Daher
0x0f dient als Bit-Maske(0b00001111), das Bitweise-UND mit der Maske lässt alle Bit 0, die in der Maske nicht 1 sind und entsprechen ansonsten den Bits der Urpsrungsvariable.
Code: Alles auswählen
(a & 0x0f) == (b & 0x0f)
Redundanz macht wiederholen unnötig.
quod erat expectandum
quod erat expectandum