Rumah >Java >javaTutorial >Operator Java Shift: Apakah Perbezaan Antara >> dan >>>?

Operator Java Shift: Apakah Perbezaan Antara >> dan >>>?

Barbara Streisand
Barbara Streisandasal
2024-12-07 06:02:16996semak imbas

Java Shift Operators: What's the Difference Between >> dan >>>?
> dan >>>? " />

Operator Syif: Membezakan >> vs >>>

Java menyediakan dua operator syif berbeza: >> (anjakan aritmetik kanan) dan >>> (anjakan logik ke kanan). pengendali ini penting untuk pengekodan yang cekap.

Anjakan Aritmetik Ke Kanan (>>)

Operator >> melakukan operasi anjakan aritmetik. bit tanda dilanjutkan untuk mengekalkan nilai negatif Ini bermakna sifar dialih masuk dari kiri, mengekalkan nombor asal tanda.

Anjakan Logik Ke Kanan (>>>)

Sebaliknya, pengendali >>> tanda nombor, digit binari dianjak ke kanan dan diisi dari kiri dengan sifar Operasi ini tidak mengekalkan tanda daripada nombor dan lazimnya digunakan dengan nilai yang tidak ditandatangani.

Contoh:

Pertimbangkan perwakilan 8-bit berikut bagi -2: 11111110.

  • Anjakan aritmetik ke kanan sebanyak 1 bit (>> 1): 11111111 (-1)
  • Anjakan logik ke kanan sebanyak 1 bit (>>> 1): 01111111 (unsigned 127)

Dengan mengekalkan bit tanda masuk anjakan aritmetik, nilai negatif dikekalkan, manakala anjakan logik mengabaikan tanda, menganggap semua nilai sebagai tidak ditandatangani. Perbezaan ini penting dalam situasi di mana tafsiran nilai negatif penting.

Atas ialah kandungan terperinci Operator Java Shift: Apakah Perbezaan Antara >> dan >>>?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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