Rumah > Artikel > pembangunan bahagian belakang > Bagaimanakah anda boleh menetapkan, mengosongkan dan menyemak bit individu dalam Go menggunakan operasi bitwise?
Manipulasi Bit dalam Go: Menetap dan Mengosongkan Bit Individu
Dalam Go, memanipulasi bit individu dalam integer boleh menjadi teknik yang berguna untuk pelbagai aplikasi. Satu cara untuk mencapai ini ialah melalui operasi bitwise.
Menetapkan Bit
Untuk menetapkan bit pada kedudukan tertentu, anda boleh menggunakan fungsi berikut:
func setBit(n int, pos uint) int { n |= (1 << pos) return n }
Fungsi ini beroperasi dengan mengalihkan nombor 1 ke kiri oleh kedudukan (pos) yang ditentukan menggunakan << pengendali. Ini mencipta topeng yang membolehkan bit yang sepadan. Apabila anda ATAU (|) topeng ini dengan integer asal, bit sasaran ditetapkan kepada 1 sambil mengekalkan bit yang lain.
Membersihkan Sedikit
Untuk mengosongkan bit pada kedudukan tertentu, anda boleh menggunakan fungsi berikut:
func clearBit(n int, pos uint) int { mask := ^(1 << pos) n &= mask return n }
Fungsi ini mencipta topeng dengan menyongsangkan bit pada sasaran kedudukan menggunakan operator ^. Topeng yang terhasil dengan berkesan mempunyai bit sasaran ditetapkan kepada 0. Apabila anda DAN (&) topeng ini dengan integer asal, bit sasaran dikosongkan manakala bit lain kekal tidak terjejas.
Menyemak sama ada Bit is Set
Akhir sekali, anda boleh menyemak sama ada bit ditetapkan menggunakan yang berikut fungsi:
func hasBit(n int, pos uint) bool { val := n & (1 << pos) return val > 0 }
Fungsi ini menjalankan operasi DAN antara integer dan topeng yang mempunyai bit yang sepadan ditetapkan kepada 1. Jika keputusan lebih besar daripada 0, ia menunjukkan bahawa bit sasaran ditetapkan, dan fungsi kembali benar. Jika tidak, ia akan kembali palsu.
Atas ialah kandungan terperinci Bagaimanakah anda boleh menetapkan, mengosongkan dan menyemak bit individu dalam Go menggunakan operasi bitwise?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!