Bit MASCKing em C ++

Bit MASCKing em C ++
O mascaramento de bits é um processo usado para acessar um bit específico nos bytes de dados. Este fenômeno é usado quando você está realizando o processo de iteração. Diz -se que uma máscara de bits é uma máscara de uma sequência de n -bits que são usados ​​para codificar uma parte de nossa coleção. Esses elementos da máscara podem ser definidos ou não podem ser. Existem operadores bit -new para criar ou alternar os bits. Esses operadores são usados ​​para ligar a bit ou vice-versa.

Para usar os programas C ++ na executá -los no Linux, você precisa ter o arquivo ubuntu configurado e no estado de corrida. Além disso, o usuário deve ter algum conhecimento da linguagem C ++. Os códigos de origem C ++ são escritos no editor de texto. Considerando que para o processo de execução, use o terminal Ubuntu.

Diz -se também que uma máscara de bits é uma máscara simples que é uma sequência de n bits. Ele codifica o subconjunto da coleção. O elemento 'i' está presente no subconjunto do bit 'ith' está definido na máscara. Para o conjunto de elementos com enésimo bytes, há chances de ter uma máscara 2n correspondente a um subconjunto.

Por que o Bitmasking é usado

O processo Bitmasking armazena valores diferentes nos mesmos números definidos. Por exemplo, considere um conjunto no qual S = 1, 2, 5, 8, 6 e 7. Para representar o conjunto de 2, 5, 7, podemos usar qualquer máscara de bits 010110.

As operações realizadas pelos bitmaps são as seguintes:

Defina a parte 'Ith'
Isso é feito considerando um valor 'x'. Podemos executar x | = x<

Sem serem a parte 'Ith'
Para despertar a parte, deve haver um pouco que já está definido pelo usuário ou padrão. Para que esse bit em particular possa ser desencadeado facilmente. Então, para isso, usamos operadores x & = ~ (x <

Alternar um pouco
Este é um processo em que usamos um operador x^= x<

Em palavras simples, se você quiser definir um pouco, isso significa que, se i-th bit for 0, então é definido como 1. E se já estiver 1, deixe -o sem qualquer modificação. Da mesma forma, no caso de um pouco de folga, se i-th bit for 1, deve ser limpo para 0. E se já estiver 0 agora, não mude; Deixe da maneira que já está. Onde quer que alterne um pouco, se o i-th bit for 1, agora mude esse bit para 0. E se já estiver 0, agora você precisa voltar para 1 novamente.

Exemplo de mascaramento de bits

Um conceito básico de mascaramento de bits é tentado aqui para explicar o funcionamento de mascaramento de bits. Este exemplo envolve todas as três operações de mascaramento de bits que são descritas acima neste guia.

Agora começando com o fluxo de entrada e saída para envolver a leitura e a gravação no arquivo.

#incluir

Primeiro pulamos para o programa principal do código-fonte para que o código se torne mais simples e bem organizado. Além disso, será mais compreensivo para os novos no campo da programação. Todo esse programa é um sistema interativo do usuário. Que precisa de envolvimento do usuário em todas as etapas do sistema em execução. A primeira etapa do programa principal é que solicitamos o número em que as operações são aplicadas do usuário. Antes de perguntar, uma variável está configurada para aceitar o valor inserido pelo usuário.

Quando o usuário insere o número, ele passa por muitos processos, como um loop de tempo é usado. Este loop garante a disponibilidade de números sempre que o programa for executado. Quando o número é inserido, o sistema exibe 3 opções para o usuário, se o usuário quiser definir uma máscara de bits ou se ele quiser limpar a máscara de bits, e o terceiro é alternar o valor. E no final, um usuário é solicitado a selecionar qualquer um deles. Para navegar por todas essas operações, precisamos ter essa lógica que selecione apenas uma única opção que o usuário insira. Enquanto todas as operações permanecem ociosas naquele momento.

Então, usamos uma declaração de switch aqui. Quando o usuário insere sua escolha, isso é armazenado em uma variável e, em seguida, nessa variável, executamos uma instrução Switch. Cada linha da instrução Switch contém uma chamada de função de cada opção. Qualquer que seja a opção que o usuário selecione, o sistema executará esse programa específico para a opção. Usamos uma declaração de interrupção com todas as opções da declaração de interruptor. Porque quando uma opção é concluída, você precisa impedir o programa de execução adicional automaticamente até que seja solicitado a executar o programa.

Agora considere a primeira opção; A primeira função é sobre definir uma máscara. Ele contém a variável para armazenar o número inserido pelo usuário. Esse número passará por uma operação aritmética para fornecer o valor que é antes e depois do valor do bit.

X | x <

Quando esta operação é executada completamente, o valor depois de passar pelas operações é processado novamente e o valor é exibido.

A próxima opção é despertar o já criado ou a nova máscara. Isso também limpará o primeiro e o próximo valor do bit.

X & = ~ (x <

Explicamos cada função separadamente para deixar o conceito claro para o usuário. Isso também fornecerá o anterior e o próximo valor do bitmask.

X^= x <

Depois de escrever o código, salve -o no arquivo e salve o arquivo com uma extensão de '.C '. Para executar o código, precisamos de um compilador 'g ++' que compilará o código. 'pedaço. C 'é o nome do arquivo.

$ g ++ -o bit.c
$./pedaço

Quando executamos o código, o controle está no programa principal quando você seleciona a opção da função e, de acordo com a função, a chamada de função específica é feita e o controle é passado para essa função específica. Por exemplo, de acordo com a imagem, primeiro inserimos o número e depois selecionamos a opção.

Vamos selecionar as três opções em termos de linha. Em primeiro lugar, selecionamos a primeira opção para definir o bitmask. De acordo com a função, um pouco antes e depois que o bit atual é exibido aleatoriamente quando a execução é concluída para a função.

Novamente as opções são exibidas. Agora queremos despertar a posição '3'. Aqui novamente, antes e depois da limpeza, o valor é exibido.

Agora, novamente, quando vemos a lista de opções, selecione a última opção, a opção de alternância. Digite a parte que deseja alternar. A alternância anterior e os valores posteriores serão exibidos.

Este processo continuará até que você continue digitando os valores das opções. Se você quiser sair do sistema, pressione 'Ctrl + C ”.

Conclusão

O processo de mascaramento de bits é favorável para os processos de iteração. Usamos um breve exemplo para explicar o processo de configuração, despertar a máscara e alternar o bit. Também podemos alterar o exemplo acima mencionado de acordo com as necessidades do nosso programa. Esperamos que este artigo o ajude a entender o processo de mascaramento de bits.