Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: Mathefunktion Kategorie: Programmierung (von André H. - 16.07.2004 10:22)
Als Antwort auf Re: Mathefunktion von Eddy - 12.07.2004 13:26
Ich nutze:
C-Control II Unit, C164CI-ControllerBoard, CC2-Application-Board, CC2-StarterBoard, CC2-ReglerBoard, OSOPT_V2, OSOPT V3.0
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)