Rumah > Java > javaTutorial > teks badan

Apakah Tujuan Operator Pipe Equal (=) dalam Pengaturcaraan?

Mary-Kate Olsen
Lepaskan: 2024-10-23 16:55:01
asal
1021 orang telah melayarinya

What is the Purpose of the Pipe Equal (=) Operator in Programming?

Apakah itu Pipe Equal Operator (=)?

Pemaju yang telah menemui operator pipe equal (|=) dalam sumber terbuka kod perpustakaan mungkin tertanya-tanya tentang maksudnya. Operator ini, sering disalah anggap sebagai penugasan logik, memegang operasi OR bitwise yang ketara.

Memahami Bitwise OR

Operator sama paip |= berfungsi sama dengan =. Dalam kod di bawah, operator |= menggabungkan nilai asal lalai dengan DEFAULT_SOUND malar:

notification.defaults |= Notification.DEFAULT_SOUND;
Salin selepas log masuk

Operasi ini bersamaan dengan:

notification.defaults = notification.defaults | Notification.DEFAULT_SOUND;
Salin selepas log masuk

di mana | menandakan operator bitwise ATAU.

Bitwise ATAU dalam Topeng Malar

Dalam contoh yang disediakan, pemalar DEFAULT_SOUND, DEFAULT_VIBRATE dan DEFAULT_LIGHTS ialah kuasa dua:

DEFAULT_SOUND = 1
DEFAULT_VIBRATE = 2 (1 << 1)
DEFAULT_LIGHTS = 4 (1 << 2)
Salin selepas log masuk

Ini membolehkan penggunaan bitwise ATAU untuk menambah atau mengalih keluar bendera. Contohnya:

int myFlags = DEFAULT_SOUND | DEFAULT_VIBRATE; // 001 | 010 = 011
Salin selepas log masuk

Menambah bendera lain:

myFlags |= DEFAULT_LIGHTS;
Salin selepas log masuk

hanya tambahkan bendera baharu.

Menguji Kehadiran Bendera

Pengendali bitwise AND (&) menguji kehadiran bendera:

boolean hasVibrate = (DEFAULT_VIBRATE & myFlags) != 0;
Salin selepas log masuk

Jika keputusannya bukan sifar, bendera ditetapkan.

Atas ialah kandungan terperinci Apakah Tujuan Operator Pipe Equal (=) dalam Pengaturcaraan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber: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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan