Bom, estou estudando que nem um camelo pra tirar essa certificação e surgiu mais uma dúvida:
será que alguem pode me explicar direitinho como funcionam os operadores de deslocamento?!
eu tenho a apostila da sun e da globalcode e nem assim consegui entender.
Na verdade eu entendi, mas eu queria uma lógica, uma regra, pra conseguir resolver mais rápido as questões.
8>>2 , o resultado é 2. pois você divide 8 por 2 elevado a 2
Ex: 8/2*2.
8 = 1000. deslocando dois bits para a direita fica 0010, que é 2
8>>3, o resultado é 1. Ex: 8 / 222
8<<2, o resultado é 32, pois com o deslocamento para a esquerda, você multiplica 8 por 2 elevado ao operando da direita, que nesse caso é o 2.
Ex: 8 * 2 * 2.
8=1000, que deslocando 2 bits para a esquerda fica 0010 0000, que é 32.
8<<3 , o resultado é 64.
Ex: 8 * 2 * 2 * 2.
Espero ter ajudado.
L
lounaticoPJ
valeu! eu acabei chegando nisso mesmo…
mas ainda tinha esperança de ter alguma regrinha mais fácil…
valeu!
L
lcgomesPJ
Colega tuledux, valeu pela explicação. Eu tinha aprendido essa regra de uma outra forma e vejo que dessa maneira fica bem mais facil e rapido em resolver.
Agora vc teria uma exemplo simples de troca com numeros negativos e outro com o operador >>>?
Grato e um abraço,
J
Juliano_CarnielPJ
Olá,
a revista Mundo Java deste mes traz um artigo exatamente sobre isso.
Vale a pena conferir!