Pular para o conteúdo

Escovando bits em PHP: operações bitwise e uma função debug

Dica publicada em PHP / Avançado
Marcio Merlone mmerlone
Hits: 6.883 Categoria: PHP Subcategoria: Avançado
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Escovando bits em PHP: operações bitwise e uma função debug

As operações bitwise não são muito comuns de serem vistas por aí, poucos programadores as conhecem. Mas são extremamente poderosas devido à sua velocidade de execução.

Pra melhor explicá-las, imagine uma situação onde você tem uma série de chaves liga-desliga para, por exemplo, armazenar opções de um determinado objeto, que possuam valores verdadeiro ou falso. Poderíamos criar uma convenção sobre uma sequência de zeros e uns, onde cada posição teria um significado, por exemplo:

00000

Respectivamente, da direita pra esquerda, para as opções 1, 2, 3, 4 e 5. Portanto, se quiséssemos que somente a opção 2 estivesse ligada, com valor verdadeiro, teríamos:

00010

Bem simples, não? O que já vi fazerem é armazenar esta string no banco de dados. Tendo-se, por exemplo, 54 opções, teríamos uma string de 54 caracteres. Imagine o algoritmo pra testar isto, transformando a string em um array e lendo o elemento número 'N' para saber se a opção está ligada ou não, fora a alocação desnecessária de memória. Apesar de parecer lógico, é ineficiente, existe maneira melhor.

Veja o artigo completo em:

http://merlone.ath.cx/2007/08/08/escovando-bits-em-php-operacoes-bitwise/

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

10 regras de ouro para inciar com código aberto

Escovando bits em PHP - operações bitwise sobre grupos e permissões

Remover espaços no fim de linha - Eclipse

Driblando o REGISTER GLOBALS OFF

Lista de discussão de desenvolvedores PHP de Minas Gerais

Tudo em Um - Site pessoal sobre PHP, HTML, CSS etc

Code Igniter - Programando com segurança e velocidade

Dicas de segurança em PHP

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.