Hallo, ich bin im Moment am Umprogrammieren von einem Chart. http://www.mikrocontroller.net/attachment/132389/Fenster_2.jpg Das ganze ist ähnlich einer Vektorgrafik aufgebaut. Es wird ein Rahmen vorgegeben und aus diesem Rahmen wird dann berechnet welcher Strich wie lang sein soll. Ich kann z.B. vorgeben, dass die x-Achse 80% der Gesamtlänge haben soll, das 5% der Länge als Abstand zwischen Graph und Rahmen eingeplant werden sollen ... Bis jetzt habe ich alle Berechnungen in dem Format double durchführt. Dies hatte sich angeboten, da ich mit % gerechnet habe. Vor dem zeichnen findet immer eine Konvertierung in int statt, da MFC Korrdinaten in Pixeln haben möchte. Nun habe ich u.a. hier im Forum mehrmals gelesen, dass eine Konvertierung von double nach int sehr Aufwendig sei(unterschiedlicher Ort im Prozessor). Deswegen wollte ich alles so umprogrammieren, dass ich möglichst wenig Konvertierungen benötige. Bei den Vorgaben in % konnte ich das ganz einfach lösen in dem ich definiere, dass der Wert 10.000 100% entspricht (Der Umrechnungsfaktor ist später einstellbar). Nun wollte ich Fragen ob dieses vorgehen Sinn macht, denn um mit int ein solches Konzept zu realisieren sind mehrere Umwandlungen notwendig um Rundungsfehler zu vermeiden. Die nächste Frage wäre wie man ohne double eine sinnvolle Skalierung vom Wertebereich des Charts auf den Wertebereich des Desktops hinbekommt. Wenn ich nicht weiß ob der Wertebereich des Charts in der Größenordnung 0,0001 oder 10000 liegt kann ich schlecht ohne Rundungsfehler rechnen.
A. R. schrieb: > Nun wollte ich Fragen ob dieses vorgehen Sinn macht, denn um mit int ein > solches Konzept zu realisieren sind mehrere Umwandlungen notwendig um > Rundungsfehler zu vermeiden. Macht nur Sinn wenn das wirklich der Engpass ist. Double nach int ist so Aufwendig auch nicht und es ist davon auszugehen das moderne Prozessoren spezielle Optimierungen in ihrer FPU für solche Fälle haben.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.