Re: Mathefunktion Kategorie: Programmierung (von André H. - 16.07.2004 10:22) | ||
Als Antwort auf Re: Mathefunktion von Eddy - 12.07.2004 13:26 | ||
| ||
Hallo Eddy, > ich habe dein programm ausgeführt und mit hyperterminal mir die ergebnisse anzeigen lassen > 2 hoch 3 ist nicht 8 sonden 7 bei mir. habe auch schon das betriebssystem neu aufgespielt > ist immer noch der selbe fehler. hmmm was jetzt ich hoffe du kanst mir trosdem noch helfen Ich hatte bei meinem kurzen Test nicht genau hingesehen. Auch bei mir tritt dieses Phänomen auf. Es liegt aber nur zum Teil an math.pow() . Das Problem bei Float ist, da� die Zahlen meist Näherungswerte sind. Ausprobieren kannst Du dies, indem Du z.B. einfach 0,1 hinzuaddierst: x=math.pow()+0.1; Dann stimmen nämlich die Ausgaben. Auch beim Umwandeln von Float in andere Datentypen kommt es hier zu einer kleinen Ungenauigkeit. (z.B. bei VM_CAST_FLOAT_TO_INT) Da Du aber die 2 potenzieren willst, haben wir die einfachste Möglichkeit übersehen, die mafoe gepostet hat: Einfach die Zahl schieben. //entweder mit 1 << y //oder mit 1 shl y Somit kann man im Integer oder Long-Bereich bleiben. MfG André H. Antworten bitte nur ins Forum! Fragen per EMail auf Forum-Postings werden nicht beantwortet! Das macht meine Heizung gerade | ||
Antwort schreiben Antworten: Re: Mathefunktion (von Eddy - 20.07.2004 20:00) |