Forum: Programmieren allgemein
by Amateurprofi,
24. Jun 2006
Hallo Stoxx,
ja, habe ich, gehört aber wohl in den anderen Thread und da stelle ich das rein.
Forum: Programmieren allgemein
by Amateurprofi,
22. Jun 2006
Die unterschiedlichen Scales werden durch die Bits 29-30 bestimmt.
Um 29 Bits nach rechts verschoben ergeben sich (wenn Bit 31=0 ist) also 4 mögliche Werte, nämlich 0..3.
Da Bit 31 aber auch 1 sein könnte, ergibt die Verschiebung um 29 Bits 8 mögliche Werte, wobei die Werte 4..7 den Werten 0..3 entsprechen.
Das Array scale enthält diese 2*4 möglichen Scales und mit
scale hole ich den...
Forum: Programmieren allgemein
by Amateurprofi,
22. Jun 2006
Und so geht es noch simpler und schneller.
function xSmallToDouble(CodZahl: Integer): Double;
const scale:array of double=
(1/100,1/10000,1/1000000,1.0,1/100,1/10000,1/1000000,1.0);
begin
if CodZahl>=0 then result:=(CodZahl and $9FFFFFFF)*scale
else result:=(CodZahl or $60000000)*scale;
end;