Manipulação de bits no Go: configuração e limpeza de bits individuais
No Go, a manipulação de bits individuais dentro de um número inteiro pode ser uma técnica útil para vários aplicações. Uma maneira de conseguir isso é através de operações bit a bit.
Definindo um bit
Para definir o bit em uma posição específica, você pode usar a seguinte função:
func setBit(n int, pos uint) int { n |= (1Esta função opera deslocando o número 1 para a esquerda pela posição especificada (pos) usando o operador
Limpando um Bit
Para limpar um Bit bit em uma posição específica, você pode usar a seguinte função:
func clearBit(n int, pos uint) int { mask := ^(1Esta função cria uma máscara invertendo o bit na posição alvo usando o operador ^. A máscara resultante efetivamente tem o bit de destino definido como 0. Quando você aplica AND (&) a esta máscara com o número inteiro original, o bit de destino é limpo enquanto os outros bits permanecem inalterados.
Verificando se um bit is Set
Finalmente, você pode verificar se um bit está definido usando a seguinte função:
func hasBit(n int, pos uint) bool { val := n & (1 0 }Esta função executa uma operação AND entre o inteiro e uma máscara que tem o bit correspondente definido como 1. Se o resultado for maior que 0, indica que o bit de destino está definido e a função retorna verdadeiro . Caso contrário, retorna falso.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3