Forum: Programmieren allgemein
by stoxx,
22. Jun 2006
Hi Amateurprofi !
auf den ersten Blick hatte ich befürchtet, Du würdest das Vorzeichen Bit verwurschteln.
Aber ist ja nicht der Fall !
Ziemlich elegante Lösung, vielen Dank nochmal !!
ja, ich habe einen AMD, war schon meine Vermutung, interessant !
Die Sache mit dem Array Zugriff werde ich mal als Anlass nehmen, meinen Quelltext mal nach Optimierungen zu durchsuchen !
Forum: Programmieren allgemein
by stoxx,
22. Jun 2006
das ist ja cool ! also das ist wirklich praktisch nicht mehr zu unterscheiden, als wenn man die Double Werte einliest.
Auch wenn ich noch nicht wirklich verstehe, was Du da machst und warum das schneller ist !
Bringt ungefähr 10 Prozent beim Einlesen von Daten.
Bei Deiner Messfunktion kommt bei mir 32 zu 20 raus und nicht 88 zu 53 wie bei Dir. Hat das was mit der CPU Geschwindigkeit zu tun...
Forum: Programmieren allgemein
by stoxx,
22. Jun 2006
ja, das sind so die ersten Gedanken, die man hat, wenn man auf das Problem stößt.
Dummerweise haben einige Futures und Forex Kurse 6 Nachkommastellen.
(z.B. USD/JPY Future hat 6 Nachkommastellen)
Mit 4294,967296 bei einem Festkomma von 6 wird es arg knapp ;-)
ich kann jetzt:
FMinValue2 = -5368709.12;
FMaxValue2 = 5368709.11;
Forum: Programmieren allgemein
by stoxx,
22. Jun 2006
ähm, gute Idee .. aber ich wußte nicht, wie das geht ? Wie bekomme ich denn diese 2 Bits aus den 32 Bit heraus ?
Sowas ähnliches. Das sind Tickdaten von Futures (Aktien). Das ist kein Standartformat, sondern meine eigene Erfindung. Ähnlich dem Currency Format, aber mit einer variablen Nachkommestelle. (werden in 2 Bits kodiert). Single war dazu mit 7-8 stelliger Genauigkeit etwas zu klein....
Forum: Programmieren allgemein
by stoxx,
22. Jun 2006
naja .. ich habe die Funktion einfach ausgeschaltet und dem Wert, der mit dieser Funktion was zugewiesen bekommen sollte, einen beliebigen Wert zugewiesen. Mit dieser Funktion liest mein programm große Mengen an Daten von der Festplatte in denen diese 4 Byte "Zahl" enthalten ist. Bisher waren das Double Werte (8 Byte groß)
Die Datenmenge ist nun kleiner, aber müssen nun "encodiert" werden. Und...