2 Stimmen

Eine -1,0 / 1,0 Operation ergibt eine 0?

Ich schreibe ein Programm, das Matrizen mit der Gauß-Jordan-Methode löst. Alles funktioniert, außer -1.0/1.0. Wenn ich die Matrix ausdrucke, wird eine 0,0 ausgegeben, obwohl es eigentlich -1,0 sein sollte. Kann jemand erklären, warum das passiert? Im folgenden Fall ist matrix[k][s] -1.0 und der Divisor ist ein 1.0 Doppelwert.

for(s = 0; s < (n+1); s++){ //Augmented matrix, while s < number of columns

                    if(divisor == 0.0){ //Not dividing by 0.0
                            continue;
                    }

                    matrix[k][s] = matrix[k][s] / divisor;

                    if((matrix[k][s] < TOLERANCE) || (matrix[k][s] < -TOLERANCE)){ //To avoid -0.0 values, TOLERANCE == 1e6
                            matrix[k][s] = 0.0;
                    }

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X