Seite 1 von 1

Bits vergleichen

Verfasst: Mo Mai 11, 2020 1:17 pm
von azadg47
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

Re: Bits vergleichen

Verfasst: Mo Mai 11, 2020 1:53 pm
von cloidnerux
Du kannst die Ints "maskieren" mit den Bitweise Operatoren(&, |, ^, ~). Daher

Code: Alles auswählen

(a & 0x0f) == (b & 0x0f)
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.