Division durch Null

06/09/2009 - 13:27 von Markus Wichmann | Report spam
Hi all,

sagt der C-Standard an irgendeiner Stelle etwas über die Division durch
Null? Also, was da geschehen soll? Genauer: Ist definiert, dass bei
einer solchen Division das Programm rausfliegen soll?

Hintergrund: Ich bastle gerade einen C-Compiler (so ein Endlos-Projekt
mit Fertigstellungstermin zum nàchsten Millenium :-) und habe bei der
FPU zwei Möglichkeiten, eine solche Division zu behandeln: Mit einer
Exception reagieren oder "unendlich" zurückgeben. Nun fand ich nix, was
mir gesagt hàtte, was ich zum Standardverhalten erheben sollte.

Tschö,
Markus
GUI - ein Hintergrundbild und zwölf XTerms

vim -c "exec \"norm iwHFG#NABGURE#IVZ#UNPXRE\"|%s/#/ /g|norm g??g~~"
 

Lesen sie die antworten

#1 Thomas Koller
07/09/2009 - 12:21 | Warnen spam
Markus Wichmann wrote:
sagt der C-Standard an irgendeiner Stelle etwas über die Division durch
Null?



Ja: "if the value of the second operand is zero, the behavior is undefined."

Also, was da geschehen soll? Genauer: Ist definiert, dass bei
einer solchen Division das Programm rausfliegen soll?



Was verstehst du unter "rausfliegen"? Aber undefined behavior erlaubt
eigentlich alles, also auch "nicht rausfliegen", egal was rausfliegen
ist. ;-)

Hintergrund: Ich bastle gerade einen C-Compiler (so ein Endlos-Projekt
mit Fertigstellungstermin zum nàchsten Millenium :-) und habe bei der
FPU zwei Möglichkeiten, eine solche Division zu behandeln: Mit einer
Exception reagieren oder "unendlich" zurückgeben. Nun fand ich nix, was
mir gesagt hàtte, was ich zum Standardverhalten erheben sollte.



s.o. du kannst es dir aussuchen.

Aber, du willst einen C-Compiler machen und hast keinen C-Standard?
Das kann nicht wirklich dein Ernst sein? Warum besorgst du
dir nicht einen, so teuer ist das nicht.

Tom

Ähnliche fragen