Código binário é um sistema de representação de informações ou dados usando um sistema numérico de base 2. Ele usa apenas dois dígitos, normalmente 0 e 1, para representar todos os valores. Cada dígito em um código binário é chamado de bit (abreviação de dígito binário).
No código binário, cada dígito representa uma potência de 2. Começando no dígito mais à direita, as potências de 2 aumentam da direita para a esquerda. Por exemplo, em um código binário de 8 bits, o bit mais à direita representa 2^0 (1), o próximo bit representa 2^1 (2), o próximo representa 2^2 (4) e assim por diante.
Vamos pegar o número decimal 42 e representá-lo em código binário. Para converter 42 em binário, dividimos sucessivamente por 2 e acompanhamos os restos até que o quociente se torne zero.
Aqui está o processo passo a passo:
Etapa 1
42 ÷ 2 = 21, resto 0
Etapa 2
21 ÷ 2 = 10, resto 1
Etapa 3
10 ÷ 2 = 5, resto 0
Etapa 4
5 ÷ 2 = 2, resto 1
Etapa 5
2 ÷ 2 = 1, resto 0
Etapa 6
1 ÷ 2 = 0, resto 1
Para obter a representação binária, começamos de baixo (último resto) e lemos os restos de baixo para cima.
O código binário resultante para 42 é: 101010
Portanto, o número decimal 42 é representado como 101010 em código binário.
No contexto do código binário, um bit definido refere-se a um dígito binário (bit) definido com o valor 1. Por outro lado, um bit limpo refere-se a um dígito binário definido com o valor de 1. 0.
Exemplo
Por exemplo, no código binário 101010, existem três bits definidos (correspondentes às posições com valor 1) e três bits claros (correspondentes às posições com valor 0).
>= 1; } return $count; } // Driver Code $number= 12; echo "Number of setbits in $number: " .countSetBits($number); ?>
Number of setbits in 12: 2
> 1); } // Driver code // get value from user $n = 123; // function calling echo "Number of setbits in $n are: ".countSetBits($n); ?>
Number of setbits in 123 are: 6
Concluindo, podemos contar os bits definidos (1s) em um número inteiro usando uma abordagem recursiva e um loop por todos os bits em PHP. A abordagem de loop envolve a iteração de cada bit do número inteiro usando um loop while. Inicializamos uma variável de contador e iteramos até que o número se torne 0. Dentro do loop, usamos AND bit a bit com 1 para verificar o bit menos significativo. Se for igual a 1, incrementamos o contador. Então, deslocamos o número para a direita em 1 bit. Este processo continua até que todos os bits tenham sido verificados e a contagem final seja retornada.
Para a abordagem recursiva, podemos definir uma função recursiva que recebe um número inteiro como entrada. Dentro da função, verificamos o bit menos significativo usando o operador AND bit a bit com 1. Se for igual a 1, incrementamos um contador. Em seguida, deslocamos o número para a direita em 1 bit e chamamos recursivamente a função com o número atualizado. O caso base é quando o número se torna 0, ponto em que retornamos o contador. Essa abordagem conta recursivamente os bits definidos até que o número se torne 0. Ambas as abordagens fornecem uma maneira de contar os bits definidos em um número inteiro, permitindo diferentes opções de implementação com base nas necessidades e preferências específicas do programador.
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