Forum: Object-Pascal / Delphi-Language
Delphi
by Amateurprofi,
7. Nov 2006
Ja, aber das Bezugsdatum von TDateTime ist der 30.Dezember 1899 (nicht der 31.)
Wikipedia ist schon eine tolle Sache. Jedoch würde ich das nicht gerade als Referenz betrachten, weil die Beiträge von jedem editiert werden können, also jeder seine persönliche Sicht der Dinge dort verewigen kann. (Leider gibt es so viele Leute die so viele Dinge wissen, die so nicht sind)
Wenn alle Bits...
Forum: Object-Pascal / Delphi-Language
Delphi
by Amateurprofi,
6. Nov 2006
@3_of_8:
Im Prinzip ist das schon richtig, jedoch
1) Das Bezugsdatum bei TDateTime ist der 30.12.1899
2) Ein Double hat eine 53 Bit Mantisse, nicht 52 Bit.
Letzteres weiß ich auch erst seit heute - und ich denke das ist auch für diverse andere User eine Überraschung.
Wie funktioniert das, wenn 1 Bit fürs Vorzeichen, 11 Bits für den Exponenten und 53 Bits für die Mantisse, ingesamt also...
Forum: Object-Pascal / Delphi-Language
Delphi
by Amateurprofi,
4. Nov 2006
Hallo Achim,
Ein Double liefert (für dezimale Schreibweise) 15 (in einem eingeschränkten Bereich 16) signifikante Stellen.
Ich vermute Du interpretierst "15 signifikante Dezimalstellen" als "15 Stellen hinter der Dezimalpunkt".
Es sind aber 15 Ziffern für die komplette Zahl, also einschließlich der Ziffern vor dem Dezimalpunkt.
Forum: Object-Pascal / Delphi-Language
Delphi
by Amateurprofi,
3. Nov 2006
@marabu:
Nein, Du kannst 1/10 Millisekunde problemlos auflösen, jedenfalls im Bereich 01.01.0001 bis 31.12.9999, wobei beide Grenzwerte in der Praxis wohl keine Rolle spielen. Ersterer nicht, weil er vor unserer Datumsrechnung liegt.
@himitsu:
Wie im Kommentar für marabu gesagt, kann man mit TDateTime 1/10000 Sekunden auch im Jahr 9999 korrekt darstellen.
Wie komme ich zu dieser Aussage?:...