+3

Utilizando Operadores Bit a Bit com o PHP e Javascript

criado por Marcos Regis em 23/05/2011 8:32pm
Trabalhando com os bits
A maioria das linguagens possui os mesmos elementos para trabalhar com bits chamados operadores.
Segue os utilizados em PHP (e em javascript)
<?php
$a & $b; // E Os bits que estão ativos tanto em $a quanto em $b são ativados. 
$a | $b; // OU Os bits que estão ativos em $a ou em $b são ativados. 
$a ^ $b; // XOR Os bits que estão ativos em $a ou em $b, mas não em ambos, são ativados.  
~ $a; // NÃO Os bits que estão ativos em $a não são ativados, e vice-versa.  
$a << $b; // Deslocamento à esquerda Desloca os bits de $a $b passos para a esquerda (cada passo significa "multiplica por dois")  
$a >> $b; // Deslocamento à direita Desloca os bits de $a $b passos para a direita (cada passo significa "divide por dois")  

Para usar isso em Javascript basta remover o $
var a=1,b=2;
a & b; // 0 (zero)
a | b; // 3
a ^ b; // 3
~ a; // -2
a << b; 4
a >> b; 0

Na próxima parte demonstrarei algo útil que certamente você poderá usar em seus sistemas.

Comentários:

Mostrando 1 - 6 de 6 comentários
Dangda disse:
Outra coisa que podemos reparar é que o todo número que possui o último bit ativo é um número ímpar (Está aí uma forma bem simples de saber se um número é par ou ímpar <a href="http://vienne.co/vi-nu" rel="dofollow">vi nu</a>, mesmo de números grandes a um custo baixo).
24/01/2013 7:20pm (~5 anos atrás)

Marcos Regis disse:
Eu já escrevi a segunda parte do artigo. Falta apenas revisar e passar pela moderação. Deve estar disponível ainda este mês.
03/09/2012 5:51pm (~5 anos atrás)

Ítalo disse:
Parabésn pelo post, Marcos. ²

Estou louco para saber a utilidade com exemplos práticos.

Até mais.
31/08/2012 10:03pm (~5 anos atrás)

Parabéns pelo post Marcos, boas observações!
25/02/2012 4:38pm (~5 anos atrás)

Marcos Regis disse:
Lucas, tem sim muita utilidade. Estou preparando o complemento do post com um exemplo bem útil.
03/02/2012 10:35am (~6 anos atrás)

Marcos, acho meio difícil usar isso no dia a dia, você poderia me falar onde eu poderia estar empregando os operadores bit?

Parabéns pelo artigo.
29/01/2012 7:09am (~6 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)