Queria saber em que tipos de aplicações são usados os operadores, >> >>> <<, de bit shift. Sei que o operador >> desloca bits para a direita e mantém o sinal, sei também que >>> desloca bits para a direita mas não mantem o sinal, caso seja negativo, se torna positivo e sei que o operador << desloca bits para a esquerda, preenchendo a direita com zeros.
O que quero saber mesmo é onde uso este operadores, algumas pessoas me disseram que são utilizados em criptografia, outra me disseram que estes operadores fazem multiplicação e divisão, ainda não me convenceram.
Alguém aí poderia dar uma luz, dizendo realmente qual a finalidade prática deste operadores.
Dispenso explicações do tipo “EU ACHO”. e agradeceria bastante se pudesse mostrar exemplos.
Sim são usados para multiplicar e dividir, deslocar 1 casa a esquerda significa multiplicar por 2 por exemplo, a multiplicação feita desta forma é mais rápida … mas sei la … achu q não é tão usal para a programção em alto nível …
Eu corrigi a minha ultima msg… eu tinha colocado que se vc deslocasse 2 casas pra esquerda estaria multiplicando por 2, o correto seria 1 casa …
Ae esse codigo faz divisão e multiplicação utilizando os operadores …
public class Teste {
public static void main(String[] args) {
int x=2;
System.out.println("Multiplicação 2*2 é ->"+ (x<<1) );
System.out.println("Multiplicação 2*4 é ->"+ (x<<2) );
System.out.println("Multiplicação 2*8 é ->"+ (x<<3) );
System.out.println("Divisão 2*2 é ->"+ (x>>1) );
}
}
E se eu quiser multiplicar 2 * 3, ou 2 * 5, ou 2 * 7, ou 2 * 10, sacaram né, usando os operadores, como faço?? ou não têm como?
Valeu mesmo [/quote]
Não dá para realizar qualquer multiplicacao com os operadores de deslocamento de bits. Se pudesse, o operador de multiplicacao já faria isso por debaixo dos panos.