Gast
#3967063
Hallo liebe Forengemeinde, für ein Projekt muss ich einige mathematische Formeln in C/C++ (Visual Studio und doubles) umsetzen. In den Formeln kann der Fall auftreten, dass z.B. in einem Bruch durch 0 geteilt wird. Das Ergebnis ist natürlich #inf, womit ich gut leben könnte. In einer späteren Formel kann also der Fall auftreten, dass zweier dieser Zahlen voneinander subtrahiert werden. Ich würde behaupten, dass #inf-#inf=0 sind. Das tatsächliche Ergebnis ist jedoch #IND, also undefiniert. Dies führt dazu, dass die Ergebnisse weiterer Berechnungen unbrauchbar werden. Ich habe bisher immer gedacht, dass C/C++ in der Lage ist mit diesen Symbolen umzugehen, doch scheinbar bin ich auf dem Holzweg. Als Workaround habe ich in den Nenner der Brüche ein "+ 1e-100" eingefügt, um keine glatte 0 zu erhalten. Daher die Frage an die Gemeinde: Wie geht man tatsächlich mit diesen Grenzfällen in C/C++ um? Gibt es evtl. eine Compileroption, um die Rechnung mit den Symbolen zu ermöglichen? Quellen und Literatur sind natürlich ebenfalls gerne gesehen. Gruß, Anfänger P.S. Im späteren Verlauf sollen diese Rechnungen evtl. in einen PIC einprogrammiert werden, daher würde ich Lösungen für C bevorzugen.