Je pense que c'est un bug dans IE. Selon les règles de IEEE math, n/Inf = 0 (pour n! = 0). Donc, si IE croque dessus, c'est un problème dans IE. D'un autre côté, utiliser Inf dans des opérations mathématiques ordinaires est problématique, et il vaudrait mieux que votre code ne s'en repose pas en premier lieu.
Pourquoi est-ce dangereux? Eh bien, pour commencer, selon IEEE 754:
1/0 = Inf
1/-0 = -Inf
mais nous savons que 0 = -0, donc
Inf = -Inf
qui est évidemment indésirable. IEEE ne voulait pas faire d'Inf un numéro ordinaire de toute façon. Inf et NaN existent pour faire de l'arithmétique à virgule flottante dans les ordinateurs avec sa précision intrinsèque limitée et les problèmes de débordement ressemblent à l'arithmétique du monde ordinaire, où, pour prendre l'exemple le plus simple, l'ensemble des nombres réels est fermé. un autre nombre réel). Si vous faites cela avec des flottants de précision finie, vous obtiendrez des cas où l'addition de deux nombres entraîne un débordement. Pour éviter d'avoir à traiter cela comme une condition d'erreur, l'IEEE a introduit deux symboles supplémentaires, Inf et NaN, et un ensemble de règles pour leur comportement. Maintenant, le résultat d'une opération mathématique est toujours un nombre, ou Inf, ou NaN, et si le résultat a un sens ou non est laissé à l'utilisateur.
Un peu off-point mais toujours intéressant et lié à quelques réponses ici - Division par l'infini peut être simulée physiquement en divisant un nombre par un petit nombre. Par exemple 12/0000000000000.1 est très proche de 12/inf. Essayez d'ajouter un petit nombre. – Phil
@Phil, peut-être que vous vouliez dire un très grand nombre? – Victor