- Ausdruecke
- Arithmetische Operationen
- Zuordnungsoperationen
- Vergleichsoperationen
- Logische Operationen
- Bitorganisierte Operationen
- Andere Operationen
- Prioritaeten und Operationsordnung
Bitorganisierte Operationen
1-Komplement
1-Komplement der Variable. Ausdruckswert hat 1 in allen Stellen, wo die Variable 0 hat und o in allen Stellen, wo die Variable 1 hat.
b = ~n; |
Beispiel:
char a='a',b;
|
Verschiebung nach rechts
Binaerdarstellung x wird nach rechts um y Stellen verschoben. Wenn der verschobene Wert den zeichenlosen Typ hat, wird die logische Verschiebung nach rechts durchgeführt, d.h. die sich links befreiende Stellen werden mit Nullen ausgefuellt werden.
Wenn aber der verschobene Ausdruck einen Zeichentyp hat, wird arithmetische Verschiebung nach rechts durchgeführt, d.h. die sich links befreiende Stellen werden von Zeichebits ausgefuellt ( wenn die Zahl positiv ist, wird der Wert von Zeichenwert 0 sein, wenn die Zahl negativ ist, wird der Wert von Zeichenbit 1 sein).
x = x >> y; |
Beispiel:
char a='a',b='b';
|
Verschiebung nach links
Binaerdarstellung x wird nach links um y Stellen verschoben; sich befreiende Stellen werden von Nullen ausgefuellt.
x = x << y; |
Beispiel:
char a='a',b='b';
|
Es ist nicht empfehlenswert, um mehrere oder gleiche Anzahl der Bits zu verschieben, als die Laenge der verschiebten Variable, denn das Ergebnis der Operation ist unbestimmt.
Bitorganisierte Operation UND
Bitorganisierte Operation UND der Binaerdarstellungen x und y. Der Ausdruckswert hat 1 (RICHTIG) in allen Stellen, in denen x und y keine 0 haben; und 0 (FALSCH) - in allen anderen Stellen.
b = ((x & y) != 0); |
Beispiel:
char a='a',b='b';
|
Bitorganisierte Operation ODER
Bitorganisierte Operation ODER der Binaerdarstellungen x und y. Ausdruckswert hat 1 in allen Stellen ,wo x oder y keine 0 hat, und 0 - in allen anderen Stellen.
b = x | y; |
Beispiel:
char a='a',b='b';
|
Bitorganisierte Operation ausschliessendes ODER
Bitorganisierte Operation ausschliessendes ODER (eXclusive OR) der Binaerdarstellungen x und y. Der Ausdruckswert hat 1 in den Stellen, in denen x und y verschiedene Binaerwerte haben, und 0 - in allen anderen Stellen.
b = x ^ y; |
Beispiel:
char a='a', b='b';
|
Bitorganisierte Operationenwerden nur mit Ganzzahlen durchgeführt.
Sehen Sie auch