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

Publicado por Marcio Merlone em 01/09/2007

[ Hits: 6.169 ]

Blog: http://merlone.ath.cx

 


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/

Outras dicas deste autor

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

Leitura recomendada

Autenticar usuário e mostrar os membros de um grupo no site PHP via LDAP no AD W2K12

Cadastrar eventos/compromissos no Google Agenda com cURL [PHP]

Portabilidade de métodos construtores em PHP

Driblando o REGISTER GLOBALS OFF

Variáveis variáveis em PHP

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts