Apakah Operator "&^" dalam Go?
Tidak seperti kebanyakan pengendali lain, "DAN TIDAK" bukanlah istilah yang menghasilkan hasil ketara apabila dicari dalam talian. Operator ini dilambangkan dengan simbol "&^" dan menimbulkan persoalan tentang kefungsiannya dan cara ia boleh diterjemahkan ke dalam bahasa lain seperti C.
Dalam spesifikasi Go, "&^" digambarkan secara ringkas sebagai "bit jelas" pengendali. Perihalan ini membayangkan kes penggunaan utamanya. Apabila digunakan pada dua operan, "&^" melakukan operasi berikut:
Dalam C, persamaan Go x &^ y akan jadilah x & ~y. Ungkapan ini secara eksplisit melaksanakan operasi NOT bitwise pada y menggunakan ~y dan kemudian menggunakan operasi bit clear menggunakan &.
Pertimbangkan contoh berikut:
x := 0b11110000 y := 0b00001010 result := x &^ y // result will be 0b11110010
Dalam kes ini, bitwise NOT operasi digunakan untuk y, menghasilkan 0b11110101. Operasi yang agak jelas kemudian menggabungkan nilai terbalik ini dengan x, mengosongkan 1s dalam x yang sepadan dengan 1s dalam y terbalik (dalam kes ini, 1 dalam kedudukan keempat). Akibatnya, hasilnya mengekalkan bit asal x kecuali bit yang telah dikosongkan, mencipta nilai baharu 0b11110010.
Atas ialah kandungan terperinci Apakah yang Go '&^' Bit Clear Operator Lakukan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!