Zum Inhalt springen

C (Bitorientierte Operatoren)


Kerschtl

Empfohlene Beiträge

Es gibt folgende Bit-Operatoren:

& (und), | (oder), ^ (exclusives oder), ~ (komplementär), << (bitshift nach links), >> (bitshift nach rechts)

char byte = ~0; ergibt -1, da alle bits umgedreht werden, aus einer 1 wird eine 0 und aus einer 0 wird eine 1. Da wir uns im 2er Komplementsystem befinden, wird die -1 mit lauter einsen dargestellt.

byte = 1;

byte <<= 1; alle bits werden um eins nach links verschoben. In diesem Fall nur sichtbar die 1. Aber es werden auch die Nullen verschoben. Die letzte Null fällt hinten raus. Vorne wird eine Null nachgeschoben. Es wird aber immer eine Null nachgeschoben, selbst wenn hinten eine 1 wegfällt. (Das Ergebnis ist byte ==2.)

byte1 = 1;

byte2 = 2;

byte7 = byte1 & byte2;

byte == 0, da nur an den Stellen eine 1 gesetzt wird, wo in beiden Variablen eine 1 steht. Also an Stelle x muß in byte1 UND in byte2 eine 1 stehen. Diesen Fall haben wir aber nicht.

byte1 = 1;

byte2 = 2;

byte7 = byte1 | byte2;

byte == 3, da eine 1 gesetzt wird wenn an Stelle x in byte1 ODER in byte2 eine 1 steht.

byte1 = 1;

byte2 = 3;

byte = byte1 ^ byte2;

byte == 2, da beim XOR eine 1 gesetzt wird, wenn entweder in byte1 oder in byte2 eine 1 steht. Wenn aber an beiden Stellen eine 1 steht, wird eine Null geschrieben. In diesem Fall steht an erster Stelle beides Mal eine 0.

HTH

Jan

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...