Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah anda boleh menetapkan, mengosongkan dan menyemak bit individu dalam Go menggunakan operasi bitwise?

Bagaimanakah anda boleh menetapkan, mengosongkan dan menyemak bit individu dalam Go menggunakan operasi bitwise?

Barbara Streisand
Barbara Streisandasal
2024-11-10 03:43:02851semak imbas

How can you set, clear, and check individual bits in Go using bitwise operations?

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!

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