| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: May 2006
Beiträge: 19
| Normalen sin cos und tan berechnen
Huhu! Ich hab mal ei npaar Beiträge durchgeblättert udn werd einfach nicht schlau draus. Es geht darum einen kleinen Physik-Rechner zu programmieren, der aus vom User eingegebenen Werten etwas bestimmtes berechnet. Dafür muss ich aber den sinus, cos und tan wert im Grad- und Nicht im Bogenmaß berechnen können. Aber wie geht das bitte mit Actionscript? Also dass zb. sin90°=1 ist und nicht 0,xxx |
| | |
| | #4 (permalink) |
| Neuer User Registriert seit: Nov 2007
Beiträge: 56
|
hi, dazu "direkt" ne frage: müsste Math.sin(Math.PI)) nicht null ausgeben? nach allem was ich gelernt hab ist sin(180°) nämlich = 0. ich kriege allerdings: 1.22460635382238e-16, was ja shcon nah an null dran ist, aber eben nicht null. läuft das evtl unter "bugs"??? vielen dank schonmal für die hilfe, gruß, swiged |
| | |
| | #5 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.324
|
ach ja ... das computer nicht bis auf unendlich viele stellen genau rechnen können hat sich immer noch nicht rumgesprochen? 1.22460635382238e-16 das ist 0.000000000000000122.. und nicht nur computer können das nicht. schreib doch mal 1/7 als dezimalzahl, oder schreib doch mal selbst PI auf. aber bitte exakt! bis zur letzten nachkommastelle - oder hast du auch einen bug und kannst das garnicht ;-) http://de.wikipedia.org/wiki/IEEE_754
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (14-08-2008 um 18:13 Uhr) |
| | |
| | #6 (permalink) |
| Neuer User Registriert seit: Nov 2007
Beiträge: 56
|
vielen dank für die schnelle antwort, und nein, es ist mir nicht neu, dass computer nicht mit unendlich vielen stellen rechnen können. aber ich ging davon aus, dass die Math-funktionen mit einer gewissen rundung arbeiten, wie eben der taschenrechner von win oder so. ich denke man, man kann diesen "bug" dann mit math.round beheben. gruß, swiged |
| | |
| | #7 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.324
|
programmiersprachen machen das nicht selbst, dafür haben sie arbeitssklaven: programmierer würde die programmiersprachen das selbst machen, dann wäre der fehler grösser. wann soll was auf- oder abgerundet werden und auf wieviele stellen? das muss man selbst entscheiden. genauso obliegt es dem programmierer, dafür zu sorgen, das ein fehler möglichst gering ausfällt. je nachdem, was man braucht bzw. erreichen will. deshalb z.b., für rechenergebnisse niemals ein x == y verwenden. wenn, dann mindestens ein x <= y (wenn's so ist) oder z.b. auf eine tolleranz hin testen Math.abs(x-y) < 1e-8
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (14-08-2008 um 18:24 Uhr) |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |