Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Schaltjahr (https://www.delphipraxis.net/11729-schaltjahr.html)

MathiasSimmack 14. Nov 2003 12:09

Re: Schaltjahr
 
Zitat:

Zitat von Luckie
Und warum ist deine schneller?

Ich glaube, die nehmen sich nicht viel. Echte Unterschiede dürften wohl nur messbar sein, und dann auch nur mit einem extrem genauen Timer.

Zitat:

Ich muss allerdings zu geben, dass sich beide nicht richtig verstehe...
Wieso nicht? Ergibt sich doch aus der Beschreibung eines Schaltjahres:
Delphi-Quellcode:
Result :=
  // das Jahr muss durch 4 ohne Rest
  // teilbar sein

  // 2000 / 4 = 500 (Rest 0)
  // 1900 / 4 = 475 (Rest 0)

  (Year mod 4 = 0)

  // UND
  and

  // es muss mit Rest durch 100
  // teilbar sein

  // 2000 / 100 = 20 (Rest 0) = Bedingung stimmt (noch) nicht
  // 1900 / 100 = 19 (Rest 0) = Bedingung stimmt (noch) nicht

  ((Year mod 100 <> 0)

  // bzw.
    or

  // ohne Rest durch 400

  // 2000 / 400 = 5 (Rest 0) = Bedingung für 2000 stimmt jetzt!
  // 1900 / 400 = 4 (Rest 300) = Bedingung für 1900 stimmt NICHT!

   (Year mod 400 = 0));

  // DANN ist es ein Schaltjahr, und darum war 2000 ein
  // Schaltjahr, aber 1900 nicht
@Phoenix: Ein Array reicht auch. Nimm das normale, mit den 28 Tagen für Februar. Dann holst du dir im ersten Schritt den Tag für den Monat, und im zweiten Schritt prüfst du, ob das Jahr ein Schaltjahr ist und der Monat der Februar - wenn Ja, Tag++ ... ;)

Daniel B 14. Nov 2003 13:21

Re: Schaltjahr
 
Zitat:

Zitat von MathiasSimmack
Ich glaube, die nehmen sich nicht viel. Echte Unterschiede dürften wohl nur messbar sein, und dann auch nur mit einem extrem genauen Timer.

Ich hab halt zwei multiplikation und eine addition statt drei multiplikationen, die addition ist halt um ein paar Takte schneller. ;)
Eine Addition = 1 Takzyklus
Eine Multiplikation = 4 Taktzyklen soweit ist das noch in errinerung hab. :D

MathiasSimmack 14. Nov 2003 14:00

Re: Schaltjahr
 
Zitat:

Zitat von Daniel B
Zitat:

Zitat von MathiasSimmack
Ich glaube, die nehmen sich nicht viel. Echte Unterschiede dürften wohl nur messbar sein, und dann auch nur mit einem extrem genauen Timer.

Ich hab halt zwei multiplikation und eine addition statt drei multiplikationen, die addition ist halt um ein paar Takte schneller. ;)
Eine Addition = 1 Takzyklus
Eine Multiplikation = 4 Taktzyklen soweit ist das noch in errinerung hab. :D

Multiplikation? Ist mod nicht eine ... *kicher* Modulation?

Nein, ernsthaft -
Meine persönliche Meinung, in der Musik mögen 3 Takte mehr oder weniger entscheidend sein. In dem Fall hier kann man sie IMHO vernachlässigen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:58 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz