Bits vergleichen

Schnelle objektorientierte, kompilierende Programmiersprache.
Antworten
azadg47
Beiträge: 1
Registriert: Mo Mai 11, 2020 1:10 pm

Bits vergleichen

Beitrag von azadg47 » Mo Mai 11, 2020 1:17 pm

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

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Bits vergleichen

Beitrag von cloidnerux » Mo Mai 11, 2020 1:53 pm

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.
Redundanz macht wiederholen unnötig.
quod erat expectandum

Antworten