Nas,
se me olvidaba, la utilidad
el desplazamiento te puede servir para hacer
una multiplicación o división rápido.
Tienes que tener cuidado no te salgas de rango,
me explico. Imagina el tipo int, en Java no se
cuantos bytes ocupa (creo que 4) pero vamos a
suponer que ocupa 1 byte (de 0 a 255)
entonces al multiplicar tienes que tener cuidado,
imagina
10000000 << 1 (multiplicar por 2 el valor 128)
esto daría 100000000 (9 bits), o sea 256, pero
considerando que el tipo es de 8 bits el
resultado seria 00000000 (8 bits), o sea 0
y al dividir lo mismo, hace una división
perdiendo el resto, o sea 15 / 2 = 7
para el NOT a nivel de bit no se me ocurren
muchas utilidades, una podría ser la
encriptación de datos (sería una encriptación
simple, sería mejor el XOR por ejemplo), me
explico. Imagina que quieres guardar en un
fichero los records de un juego que has hecho,
para hacer más "difícil" las cosas a los
posibles saboteadores de ese fichero haces un
NOT a cada byte antes de guardarlo, así con
el Notepad no podrán sabotearlo ;)
att. Xavi Canal