Operadores de deslocamento bit a bit. Assinado e não assinado
Estou praticando para o exame SCJP usando notas curtas da Internet.
De acordo com minhas anotações, o>>
o operador deve estar assinado com o turno direito, com o bit de sinal sendo trazido da esquerda. Enquanto o operador do turno esquerdo<<
deve preservar o bit de sinal.
Brincando no entanto, eu sou capaz de mudar o sinal com o<<
operador (f.e.Integer.MAX_VALUE << 1
avalia como-2
, embora eu nunca seja capaz de mudar o sinal com o>>
operador.
Devo estar entendendo algo errado aqui, mas o que?