Acho que vc quis dizer o menor numero inteiro negativo possivel. O maior inteiro negativo é -1. Enfim, acho que seria melhor dizer o menor inteiro possivel.
[quote=“maxguzenski”]
outra forma de alcancar o maior positivo/negativo de um numero é
int x = 1;
x <<=31; // maior negativo
x = ~x; // maior positivo[/quote]
comecei o curso de certificacao java essa semana agora.
to chorando pra aprender os operadores shift. eu entendi eles, mas tenho q estudar mais, pra ficar mais claro.
Estudar para certificação é bom para aprender melhor algumas coisas que às vezes não costumamos usar muito quando estamos programando no dia-a-dia, mas só pra dar uma dica, ninguém precisa ficar se matando de estudar operadores shift se for simplesmente pra passar na prova.
Normalmente, cai apenas uma questão, e bem simples. Basta decorar a reguinha do x / 2^n e x * 2^n
Esse é o shift right. O n é de quanto vc está fazendo um shift right. Ou seja, cada vez que vc faz um shift right de 1, vc divide o numero por 2. Daí fazer
int num = 4 >> 1;
É o mesmo que fazer
int num = 4/(2^1);
E x * 2^n é o shift left. A diferença é que cada shift left funciona como uma multiplicação por 2. Acho que é valido conhecer o sistema binario para entender melhor como os operadores de shift funcionam. Eu li esse tutorial da sun para entender melhor: http://java.sun.com/docs/books/tutorial/java/nutsandbolts/bitwise.html
É simples.
Lembrando que os operadores shifts atuam sobre a representação binária do número, quando você “empurra os bits” para a esquerda você está na verdade multiplicando o número por 2 elevado ao número de casas que você está empurrando, e quando é para a direita, você divide por 2 elevado ao número de casas.