float und Kommastellen
-
Hallo Gemeinde ich habe hier beim rechnen vermutlich ein Rundungsproblem.
Taschenrechner: der Sinus aus 45 ergibt: 0,707106781 gerundet 0,7
float y = sin(45);Da kommt 0.850904 das ist aber nichtmal ansatzweise richtig. Kann mir jemand sagen was da falsch läuft?
-
Du musst vorher deine Gradzahl in Radian umwandeln:
sinf( 45.0f * PI / 180.0f )
-
0.85 ist richtig...
nur halt eben als Radiant wert also das Bogenmaß
entweder wandelst du den eingehenden wert in radiant um doer den ausgehenden
irgendwas mit 180 * pi oder so
wie mein vorredner sagte
-
M_PI müsste das Define aus <cmath> sein.
Von rad zu deg: / M_PI * 180
Von deg zu rad: * M_PI / 180
-
Skym0sh0 schrieb:
0.85 ist richtig...
nur halt eben als Radiant wert also das Bogenmaß
entweder wandelst du den eingehenden wert in radiant um doer den ausgehenden
irgendwas mit 180 * pi oder so
wie mein vorredner sagte
Das stimmt so aber nicht. Die sin Funktion erwartet Werte in radiant.
Der Funktion Grad-Werte zu übergeben und das Ergebnis nachträglich umformen ergibt definitiv falsche Werte!