1. Bitverschiebungsoperatoren
- <<: Nach links verschieben.
- >>: Nach rechts verschieben.
- >>>: Vorzeichenlose Rechtsverschiebung (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. Linksverschiebung
- 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 Verschiebung nach rechts 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 Verschiebung durch 2, mit Abrundung.
5. Rechtsverschiebung Kein Signal (>>>)
- Keine Signalbiterhaltung; fügt links eine 0 ein.
- Wird in Bitmustern verwendet, bei denen der Wert als vorzeichenlose Zahl behandelt wird.
6. Die Verschiebung erfolgt 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;
Nach dem Login kopieren
e
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!