Por falar em binarios vai uma bem simples ai!
Cade as questoes pessoal?
Ta ficando meio parado aqui…
class Tests {
public static void main (String[] args) {
int x = -3, y = 5;
System.out.println((-x == ~x + 1)+","+(-y == ~y + 1));
System.out.println((y>>1==y>>>1)+","+(x>>1==x>>>1));
}
}
Esta expressão -x == ~x + 1 sempre retorna verdadeiro, para qualquer número pois compara o seu negativo com seu complemento de dois… o que é verdadeiro
y>>1 == y>>>1 Verdadeiro, pois
0…0101 >> 1 == 0…010
0…0101 >>> 1 == 0…010
São equivalentes