Delphi Delphi Sinus verbugt?

BernddasBrot1

Cadet 2nd Year
Registriert
Juli 2008
Beiträge
22
Das ist wahrscheinlich eine der dämlichsten Fragen, die man stellen kann.
Ich soll in der Schule eine Taschenrechner programmieren.
An sich ist das auch kein großes Problem nur hab ich so meine Probleme mit der Sinusfunktion. Mir spukt er nämlich für Sin(Pi) 3,23108510433268E-15 statt 0 aus.
Code:
procedure TForm1.sin_r(a:real; var ergebnis:real);
begin
     ergebnis:=sin(a);
end;
Mir ist klar, dass niemand der halbwegs rechnen kann Sin(Pi) mit nem Taschenrechner berechnet wär aber trotzdem nett wenn jemand ne Idee hätte wie man das fixen könnte.
(Ich arbeite mit delphi 7)
 
Eigentlich schon, Delphi rechnet nach allem was ich so gelesen habe standardmäßig im bogenmaß.
Und selbst wenn, im gradmaß wäre Sin(Pi) nach meinem Taschenrechner 0,054.....
Da ist also so oder so ein Fehler.
Theoretisch könnte man den Fehler beheben, indem man für alle ergebnisse bei denen a/Pi eine ganze zahl ist sagt das ergebnis ist 0.
aber bei delphi kann man die mod funktion nur auf Integer anwenden und beim bogenmaß ist doch auch öfter mal ne Kommazahl dabei.
 
Das wird einfach ein Rundungsfehler sein. Real hat ja nur 15 Stellen Genauigkeit.
 
Hat sich erledigt.
War wie Darii gesagt hat ein rundungsfehler. 1-2 Kommastellen weniger und man hat das korrekte ergebnis
 
Zurück
Oben