Bagaimana untuk Menetapkan, Kosongkan dan Semak Bit Individu dalam Go?

Mary-Kate Olsen
Lepaskan: 2024-11-11 10:21:03
asal
605 orang telah melayarinya

How to Set, Clear, and Check Individual Bits in Go?

Manipulasi Bit dalam Go: Menetap dan Mengosongkan Bit Individu

Manipulasi bit adalah penting apabila bekerja dengan perwakilan data asas dalam sistem komputer. Dalam Go, anda boleh memanipulasi bit individu integer untuk mencapai hasil tertentu. Begini cara anda boleh menetapkan dan mengosongkan bit dalam Go:

Menetapkan Bit

Untuk menetapkan bit dalam integer n pada kedudukan pos, gunakan fungsi berikut:

// Sets the bit at pos in the integer n.
func setBit(n int, pos uint) int {
    // Shift 1 the specified number of spaces.
    bit := 1 << pos
    // OR the resulting bit mask with n.
    return n | bit
}
Salin selepas log masuk

Membersihkan Sedikit

Untuk mengosongkan sedikit pada kedudukan pos dalam n, gunakan fungsi ini:

// Clears the bit at pos in n.
func clearBit(n int, pos uint) int {
    // Shift 1 the specified number of spaces.
    bit := 1 << pos
    // Flip every bit in the mask using XOR operator.
    mask := ^bit
    // AND mask with n to unset the target bit.
    return n & mask
}
Salin selepas log masuk

Menyemak sama ada Bit Ditetapkan

Anda juga boleh menyemak sama ada bit ditetapkan pada kedudukan tertentu menggunakan ini fungsi:

func hasBit(n int, pos uint) bool {
    // Shift 1 the specified number of spaces.
    bit := 1 << pos
    // AND the resulting bit mask with n.
    val := n & bit
    // Return true if val is greater than 0.
    return (val > 0)
}
Salin selepas log masuk

Dengan fungsi ini, anda boleh melakukan manipulasi bit yang tepat dalam program Go anda.

Atas ialah kandungan terperinci Bagaimana untuk Menetapkan, Kosongkan dan Semak Bit Individu dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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