Rumah > Java > javaTutorial > Shift operator dan tugasan trengkas bitwise

Shift operator dan tugasan trengkas bitwise

王林
Lepaskan: 2024-08-17 18:48:32
asal
444 orang telah melayarinya

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

Os operadores de deslocamento e atribuições abreviadas bitwise

Atas ialah kandungan terperinci Shift operator dan tugasan trengkas bitwise. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan