Pular para o conteúdo
Campanário dos Sinais

/static/campanario/sino/sigfpe/

Menu

SIG-012 · Falhas do programa

SIGFPE

A exceção “de ponto flutuante” que quase nunca é de ponto flutuante.

O nome — floating-point exception — envelheceu mal: dividir um float por zero nem toca este sino, porque o IEEE 754 devolve infinito em silêncio. Quem toca é a divisão inteira por zero — e o caso de esquina INT_MIN / -1, cujo resultado não cabe no tipo.

O nome sobrevive por fidelidade histórica: nas máquinas dos anos setenta, a unidade de aritmética era quem mais protestava. A ficha do sinal (siginfo) ainda distingue os subtipos — FPE_INTDIV, FPE_FLTOVF — para quem captura e quer o motivo exato.

$ ./divide 10 0
Floating point exception (core dumped)
$ echo $?
136
(136 = 128 + 8: o shell anota qual sino tocou)
Divisão inteira por zero, com nome de ponto flutuante.