1. Operator Anjakan Bit
- <<: Beralih ke kiri.
- >>: Beralih ke kanan.
- >>>: Anjakan kanan tidak ditandatangani (dengan pelapik sifar).
2. Sintaks Umum Operator Shift
nilai << num-bits: Mengalihkan bit nilai ke kiri.
nilai >> num-bits: Mengalihkan bit nilai ke kanan, mengekalkan bit tanda.
nilai >>> num-bits: Mengalihkan bit nilai ke kanan, memasukkan sifar di sebelah kiri.
3. Beralih ke Kiri
- Setiap anjakan ke kiri menyebabkan semua bit nilai dialihkan satu kedudukan ke kiri.
- Sedikit 0 disisipkan ke kanan.
- Kesan: Darab nilai dengan 2 dengan setiap sesaran.
4. Beralih ke Kanan
- Setiap anjakan kanan menggerakkan semua bit satu kedudukan ke kanan.
- Bit tanda dikekalkan: 0 untuk nilai positif dan 1 untuk nilai negatif.
- Kesan: Bahagikan nilai dengan 2 pada setiap syif, dengan pembundaran ke bawah.
5. Beralih ke Kanan Tiada Isyarat (>>>)
- Tiada pemeliharaan bit tanda; sisipan 0 di sebelah kiri.
- Digunakan dalam corak bit yang nilainya dianggap sebagai nombor tidak bertanda.
6. Anjakan bukan putaran
- Bit yang dialih keluar hilang.
- Anjakan tidak membenarkan pemulihan bit dialih keluar.
Contoh:
Shift Kiri dan Kanan
*ShiftDemo *
Penjagaan semasa Mengalihkan Bait dan Nilai Singkat
- Java secara automatik mempromosikan bait dan pendek kepada int apabila menilai ungkapan.
Contoh:
- Menukar nilai bait negatif ke kanan: apabila dinaikkan pangkat kepada int, bit tertib yang lebih tinggi diisi dengan 1.
- Apabila beralih ke kanan dengan sifar padding (>>>), ini boleh menyebabkan masalah kerana 24 bit teratas akan menjadi 1 sebelum sifar mula muncul.
Tugasan Ringkas dengan Operator Bitwise
- Semua pengendali bitwise binari mempunyai bentuk trengkas yang menggabungkan tugasan dengan operasi bitwise.
Contoh
x = x ^ 127;
x ^= 127;
Salin selepas log masuk
Atas ialah kandungan terperinci Shift operator dan tugasan trengkas bitwise. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!