A minha lógica para descubrir se um número é positivo ou negativo não tem nada a ver ou faltou algum pequeno detalhe para funcionar? Já de descubrí que posso usar ex: x>=0 ou x>=-1 é positivo mas cismei com a minha lógicainha…
Digamos que x seja um número inteiro (menor que 2147483647).
Se você somar 1 a esse número, não importa se ele for negativo ou positivo, então x + 1 sempre será maior que x.
No caso especial em que o número é 2147483647, se somarmos 1 haverá um “overflow” que resultará em -2147483648, e somente nesse caso é que x + 1 será menor que x.
O seu código também não funciona para o caso 2147483647 - ele diz que é negativo, mas o número é positivo.
Ele não consegue detectar nenhum número negativo (de verdade).
Sua logica esta errada no ponto que vc afirma que todo
numero + 1 é positivo.
Isto esta errado pois -5 + 1 não e positivo entra no if vc teria que se resguardar com outros if , por isto e mais facil comparar com 0.
Opaaa, com certeza precisa colocar uma apenas para o 0
Intuitivamente, um número real n é positivo se é maior que 0.
Às vezes diz-se que n é positivo quando é maior ou igual que 0, para introduzir o termo de “estritamente positivo”, que excluiria o caso “n igual a 0”.
Se considerar-se que n é positivo se é maior que 0, então inclui-se o caso “n igual a 0” dizendo que n é não negativo.
[quote=vitoryudi]Opaaa, com certeza precisa colocar uma apenas para o 0
Intuitivamente, um número real n é positivo se é maior que 0.
Às vezes diz-se que n é positivo quando é maior ou igual que 0, para introduzir o termo de “estritamente positivo”, que excluiria o caso “n igual a 0”.
Se considerar-se que n é positivo se é maior que 0, então inclui-se o caso “n igual a 0” dizendo que n é não negativo.