Creio que -0 seja uma ‘formalidade’. Porque como um professor me disse uma vez: não há zero negativo nem positivo! Há um zero apenas.
Então -0 é igual a 0 ou +0 porque matematicamente só há um zero, que não é nem positivo nem negativo. O zero é ‘neutro’.
LPJava
é como o pessoal falou acima -5 existe porem -0 nao existe entao -0 e 0 dar no mesmo
T
thingol
GiancarloBraga:
Creio que -0 seja uma ‘formalidade’. Porque como um professor me disse uma vez: não há zero negativo nem positivo! Há um zero apenas.
Então -0 é igual a 0 ou +0 porque matematicamente só há um zero, que não é nem positivo nem negativo. O zero é ‘neutro’.
Hum, mas Java não trabalha com números “matemáticos”, e sim com números de ponto flutuante. Com números de ponto flutuante, é possível definir 3 números:
NaN - algo que não é um número (exemplo: divisão de 0 por 0).
INFINITY e -INFINITY - o resultado da divisão por zero
Para a maior parte das coisas, 0.0 == -0.0. Mas há um caso em que 0.0 e -0.0 dão resultados diferentes:
classZeroZero{publicstaticvoidmain(String[]args){// Isto prova que o Java sabe a diferença entre +0.0 e -0.0, // mas só a usa quando estritamente necessário. doublez1=0.0;doublez2=-0.0;System.out.println(z1==z2);// true como esperadoSystem.out.println(1.0/z1);// Imprime +InfinitySystem.out.println(1.0/z2);// Imprime -Infinity - isso prova que existe "-0.0"}}
GiancarloBraga
Bom saber dessas coisas!
Obrigado pela informação thingol.