1. Bitverschiebungsoperatoren
- <<: Nach links verschieben.
- >>: Nach rechts verschieben.
- >>>: Rechtsverschiebung ohne Vorzeichen (mit Nullauffüllung).
2. Allgemeine Syntax von Schichtoperatoren
Wert << Anzahl-Bits: Verschiebt die Wertbits nach links.
Wert >> Anzahl-Bits: Verschiebt die Wertbits nach rechts, wobei das Vorzeichenbit erhalten bleibt.
Wert >>> Anzahl-Bits: Verschiebt die Wertbits nach rechts und fügt links Nullen ein.
3. Nach links verschieben
- Jede Verschiebung nach links führt dazu, dass alle Bits des Werts um eine Position nach links verschoben werden.
- Ein Bit 0 wird rechts eingefügt.
- Effekt: Multiplikation des Wertes mit 2 bei jeder Verschiebung.
4. Nach rechts verschieben
- Jede Rechtsverschiebung verschiebt alle Bits um eine Position nach rechts.
- Das Vorzeichenbit bleibt erhalten: 0 für positive Werte und 1 für negative Werte.
- Effekt: Teilen Sie den Wert bei jeder Schicht durch 2, wobei abgerundet wird.
5. Nach rechts verschieben, kein Signal (>>>)
- Keine Vorzeichenbiterhaltung; fügt links 0 ein.
- Wird in Bitmustern verwendet, bei denen der Wert als vorzeichenlose Zahl behandelt wird.
6. Die Verschiebung ist nicht rotatorisch
- Ausgeschobene Bits gehen verloren.
- Das Verschieben ermöglicht keine Wiederherstellung herausgeschobener Bits.
Beispiel:
Links- und Rechtsverschiebung
*ShiftDemo *
Vorsicht beim Verschieben von Byte- und Kurzwerten
- Java stuft Byte und Short automatisch in Int um, wenn ein Ausdruck ausgewertet wird.
Beispiel:
- Verschieben eines negativen Bytewerts nach rechts: Bei der Heraufstufung zu int werden die höherwertigen Bits mit 1 gefüllt.
- Beim Verschieben nach rechts mit Nullauffüllung (>>>) kann dies zu Problemen führen, da die oberen 24 Bits 1 sind, bevor Nullen erscheinen.
Abgekürzte Zuweisungen mit bitweisen Operatoren
- Alle binären bitweisen Operatoren haben eine Kurzform, die eine Zuweisung mit der bitweisen Operation kombiniert.
Beispiel
x = x ^ 127;
x ^= 127;
Das obige ist der detaillierte Inhalt vonVerschiebungsoperatoren und bitweise Kurzzuweisungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn