Depende do idioma, do compilador, se você está usando números inteiros ou de ponto flutuante, e assim por diante.
Para número de ponto flutuante, a maioria das implementações usa o padrão IEEE 754 , onde a divisão por 0 é bem definida. 0/0 fornece um resultado bem definido de NaN (não um número), e x / 0 para x ≠ 0 fornece + Infinity ou -Infinity, dependendo do sinal de x.
Em linguagens como C, C ++ etc., a divisão por zero invoca um comportamento indefinido. Portanto, de acordo com a definição da linguagem, tudo pode acontecer. Especialmente coisas que você não quer que aconteça. Como tudo funcionando perfeitamente quando você escreve o código e destrói os dados quando o cliente o usa. Portanto, do ponto de vista do idioma, não faça isso . Alguns idiomas garantem que seu aplicativo falhe; cabe a eles como isso é implementado. Para esses idiomas, a divisão por zero falhará.
Muitos processadores possuem algum tipo de instrução de "divisão" integrada, que se comportará de maneira diferente dependendo do processador. Nos processadores Intel de 32 bits e 64 bits, as instruções "dividir" travam o aplicativo quando você tenta dividir por zero. Outros processadores podem se comportar de maneira diferente.
Se um compilador detectar que uma divisão por zero ocorrerá quando você executar algum código, e o compilador for bom para seus usuários, provavelmente fornecerá um aviso e gerará uma instrução interna de "divisão" para que o comportamento seja o mesmo.