Forum: Mikrocontroller und Digitale Elektronik detect |= 0x0002 was bedeutet das?


von Maik (Gast)


Lesenswert?

Hallo meine Frage steht eigentlich schon im Betreff!
Desweiteren möchte ich gerne auf bit Ebene und Verknüpfen! Kann mir 
jemand dabei helfen?
MfG Maik

von Gast (Gast)


Lesenswert?

ich vermute, dass detect eine Variable / Register ist !?

es bedeutet detect = detect | 0x0002

das ist eine ODER
z.B. wenn detect = 0 dann wird detect zu 0x0002, wenn 0x0002 dann 0.
usw....

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Und eine UND-Verknüpfung sähe so aus:


  detect = detect & 0x1234;

oder

  detect &= 0x1234;

Also: & ist UND, | ist ODER.

von johnny.m (Gast)


Lesenswert?

@Gast:
Erstens ist das ein bitweises ODER (nicht verwechseln mit dem 
logischen ODER "||") und zweitens wird damit das Bit Nr. 1 (also das 
zweite von "hinten") in "detect" gesetzt, unabhängig davon, welchen Wert 
dieses Bit vorher hatte. Das was Du beschreibst ist ein Exklusiv-ODER 
und das ist was ganz anderes.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.