Arithmeticexception jogado em java
-
23-09-2019 - |
Pergunta
Em Java, (número/0) lança uma aritmeticexception while (número/0.0) = infinito. Por que isso acontece?
Solução
Porque os números de ponto flutuante do IEEE-754 têm uma representação para o infinito, enquanto os números inteiros não.
Em outras palavras, todo padrão em int
representa um número inteiro normal; Os valores de ponto flutuante são bastante mais complicados com +/- infinito, "não um número" (NAN) valores, valores normalizados, valores subnormais etc.
Outras dicas
O padrão de ponto flutuante do IEEE, suportado por quase todos os processadores modernos, especifica que todas as operações aritméticas de ponto flutuante, incluindo a divisão por zero, têm um resultado bem definido. O padrão suporta zero assinado, bem como infinito e nan (não um número). Existem dois zeros, +0 (zero positivo) e -0 (zero negativo) e isso remove qualquer ambiguidade ao dividir. Na aritmética IEEE 754, um ÷ +0 é infinito positivo quando A é positivo, infinito negativo quando A é negativo e NAN quando A = ± 0. Os sinais do infinito mudam ao dividir em -0.
A divisão inteira por zero é geralmente tratada de maneira diferente do ponto flutuante, pois não há representação inteira para o resultado. Alguns processadores geram uma exceção quando é feita uma tentativa de dividir um número inteiro por zero, embora outros simplesmente continuem e geram um resultado incorreto para a divisão. O resultado depende de como a divisão é implementada e pode ser zero, ou às vezes o maior número possível.
Com os fluxos de trabalho OOTB, você não pode copiar ou mover itens transversais. Você tem algumas opções:
- receptores de eventos (como você já disse)
- o SharePoint JSOM ( objeto JavaScriptmodelo )
- Actividades de fluxo de trabalho do SharePoint Personalizado ( no codeplex ).Eles têm uma atividade de lista de cópia A atividade estendida que faz exatamente o que você precisa