Iniciando no Javascript: Operadores - Parte 3
Autor/fonte: CriarWeb.com
E-mail/Url: http://www.criarweb.com/artigos/209.php
Operadores a nível de bit
Estes são muito pouco correntes e é possível que você nunca chegue a utilizá-los. Seu uso se realiza para efetuar operações com zeros e uns. Tudo o que maneja um computador são zeros e uns, a pesar de nós usarmos números e letras para nossas variáveis na verdade estes valores estão escritos internamente em forma de zeros e uns. Em alguns casos, poderemos necessitar realizar operações tratando as variáveis como zeros e uns, e para isso, utilizaremos estes operandos. Nesta manual se tornaria um pouco extenso demais se realizássemos uma discussão sobre este tipo de operadores, mas aqui você poderá ver estes operadores por acaso algum dia fizer falta:
Precedência dos operadores
A avaliação de uma sentença das que vimos nos exemplos anteriores é bastante simples e fácil de interpretar, mas quando em uma sentença entram em jogo uma infinidade de operadores diferentes pode haver uma confusão na hora de interpretá-la e avaliar quais operadores são os que se executam antes que outros. Para marcar umas pautas na avaliação das sentenças e que estas se executem sempre igual e com sentido comum existe a precedência de operadores, que não é mais que a ordem pela qual se irão executando as operações que eles representam. À princípio todos os operadores se avaliam da esquerda para a direita, mas existem umas normas adicionais, pelas quais determinados operadores se avaliam antes que outros. Muitas destas regras de precedência foram tiradas das matemáticas e são comuns a outras linguagens, podemos vê-las a seguir:
Nos seguintes exemplos podemos ver como as expressões poderiam chegar a ser confusas, mas com a tabela de precedência de operadores poderemos entender sem erros qual é a ordem pela qual se executam:
Neste caso, primeiro se executam os operadores * / y %, da esquerda a direita, com o qual se realizariam estas operações. Primeiro a multiplicação e logo a divisão por estar mais à esquerda do módulo:
Agora o módulo:
Por último as somas e as diferenças da esquerda para direita:
De qualquer forma, é importante se dar conta que o uso dos parênteses pode nos economizar muitos quebra-cabeças e, sobretudo, a necessidade de sabermos de memória a tabela de precedência dos operadores. Quando virmos pouco claro a ordem com a qual se executarão as sentenças podemos utilizá-las e assim, forçar que se avalie antes o pedaço da expressão que se encontra dentro dos parênteses.
Estes são muito pouco correntes e é possível que você nunca chegue a utilizá-los. Seu uso se realiza para efetuar operações com zeros e uns. Tudo o que maneja um computador são zeros e uns, a pesar de nós usarmos números e letras para nossas variáveis na verdade estes valores estão escritos internamente em forma de zeros e uns. Em alguns casos, poderemos necessitar realizar operações tratando as variáveis como zeros e uns, e para isso, utilizaremos estes operandos. Nesta manual se tornaria um pouco extenso demais se realizássemos uma discussão sobre este tipo de operadores, mas aqui você poderá ver estes operadores por acaso algum dia fizer falta:
& Y de bits ^ Xor de bits | O de bits << >> >>> >>>= >>= <<= Várias classes de mudanças
Precedência dos operadores
A avaliação de uma sentença das que vimos nos exemplos anteriores é bastante simples e fácil de interpretar, mas quando em uma sentença entram em jogo uma infinidade de operadores diferentes pode haver uma confusão na hora de interpretá-la e avaliar quais operadores são os que se executam antes que outros. Para marcar umas pautas na avaliação das sentenças e que estas se executem sempre igual e com sentido comum existe a precedência de operadores, que não é mais que a ordem pela qual se irão executando as operações que eles representam. À princípio todos os operadores se avaliam da esquerda para a direita, mas existem umas normas adicionais, pelas quais determinados operadores se avaliam antes que outros. Muitas destas regras de precedência foram tiradas das matemáticas e são comuns a outras linguagens, podemos vê-las a seguir:
() [] . Parêntesis, colchetes e o operador ponto que serve para os objetos ! - ++ -- Negação, negativo e incrementos * / % Multiplicação, divisão e módulo +- Soma e diferença << >> >>> Mudanças a nível de bit < <= > >= Operadores condicionais == != Operadores condicionais de igualdade e desigualdade & ^ | Lógicos a nível de bit && || Lógicos boleanos = += -= *= /= %= <<= >>= >>>= &= ^= != Atribuição
Nos seguintes exemplos podemos ver como as expressões poderiam chegar a ser confusas, mas com a tabela de precedência de operadores poderemos entender sem erros qual é a ordem pela qual se executam:
12 * 3 + 4 - 8 / 2 % 3
Neste caso, primeiro se executam os operadores * / y %, da esquerda a direita, com o qual se realizariam estas operações. Primeiro a multiplicação e logo a divisão por estar mais à esquerda do módulo:
36 + 4 - 4 % 3
Agora o módulo:
36 + 4 - 1
Por último as somas e as diferenças da esquerda para direita:
40 - 1 39
De qualquer forma, é importante se dar conta que o uso dos parênteses pode nos economizar muitos quebra-cabeças e, sobretudo, a necessidade de sabermos de memória a tabela de precedência dos operadores. Quando virmos pouco claro a ordem com a qual se executarão as sentenças podemos utilizá-las e assim, forçar que se avalie antes o pedaço da expressão que se encontra dentro dos parênteses.

Enviado por xKuRt em 21/11/2006 às 11:45
Avaliação
Esta publicação ainda não foi avaliada!
A avaliação de publicações é restrita a membros cadastrados e logados no nosso site.
Comentários
Este artigo ainda não foi comentado ou o(s) comentário(s) que foi(ram) enviado(s) a ele ainda não foi(ram) publicado(s).
Envio de comentário:
Terça, 09 de Fevereiro de 2010
Área restrita
Leitura recomendada
Últimas publicações
Top 5 membros
- Jotah191 pts
- fbinasco163 pts
- fredbcn117 pts
- Nando93 pts
- andersonop81 pts
Últimos membros online
- mitoem 09/02 às 13:21
- Max Williamem 09/02 às 11:55
- xKuRtem 09/02 às 11:45
Últimos membros cadastrados
- LEANDROTIMAO15em 09/02
- Rafa Tem 09/02
- tncarvalhoem 09/02



