Cela dépend de la langue, du compilateur, de l'utilisation d'entiers ou de nombres à virgule flottante, etc.
Pour les nombres à virgule flottante, la plupart des implémentations utilisent la norme IEEE 754 , dans laquelle la division par 0 est bien définie. 0/0 donne un résultat bien défini de NaN (pas un nombre), et x / 0 pour x 0 donne soit + Infinity soit -Infinity, en fonction du signe de x.
Dans des langages tels que C, C ++, etc., la division par zéro appelle un comportement indéfini. Donc, selon la définition du langage, tout peut arriver. Surtout des choses que vous ne voulez pas arriver. Comme si tout fonctionnait parfaitement bien lorsque vous écrivez le code et détruisez les données lorsque votre client les utilise. Donc, du point de vue de la langue, ne faites pas cela . Certaines langues garantissent le blocage de votre application. c'est à eux de décider comment cela est mis en œuvre. Pour ces langues, la division par zéro va planter.
De nombreux processeurs ont une sorte d'instruction "diviser" intégrée, qui se comportera différemment selon le processeur. Sur les processeurs Intel 32 bits et 64 bits, les instructions "diviser" planteront votre application lorsque vous essayez de diviser par zéro. D'autres processeurs peuvent se comporter différemment.
Si un compilateur détecte qu'une division par zéro va se produire lorsque vous exécutez du code et qu'il est gentil avec ses utilisateurs, il vous avertira probablement et générera une instruction intégrée "divide" afin que le comportement soit le même. même.