Maison > développement back-end > Golang > le corps du texte

Comment définir, effacer et vérifier des bits individuels dans Go ?

Mary-Kate Olsen
Libérer: 2024-11-11 10:21:03
original
633 Les gens l'ont consulté

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

Manipulation de bits dans Go : définition et effacement de bits individuels

La manipulation de bits est essentielle lorsque l'on travaille avec la représentation des données sous-jacentes dans les systèmes informatiques. Dans Go, vous pouvez manipuler des bits individuels d'un entier pour obtenir des résultats spécifiques. Voici comment définir et effacer des bits dans Go :

Définition d'un bit

Pour définir un bit dans un entier n en position pos, utilisez la fonction suivante :

// 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
}
Copier après la connexion

Effacer un bit

Pour effacer un bit en position pos en n, utilisez cette fonction :

// 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
}
Copier après la connexion

Vérification si un bit est défini

Vous pouvez également vérifier si un bit est défini à une position particulière en utilisant cette fonction :

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)
}
Copier après la connexion

Avec ces fonctions, vous pouvez effectuer des manipulations de bits précises dans vos programmes Go.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal