AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Suchfunktion Ergebnis der Suchanfrage

Ergebnis der Suchanfrage


Datum des Suchindex: Heute, 00:32

Parameter dieser Suchanfrage:

Suche in Thema: IsPowerOfN
Suche alle Beiträge, die von "gammatester" geschrieben wurden
• Suchmethode: "Suche nach allen Begriffen"
• Nach Datum (firstpost) sortiert
• Zeige Treffer als Beiträge
Zeige 8 von insges. 8 Treffern
Suche benötigte 0.003s

Es liegen Ergebnisse in folgenden Bereichen vor:

  • Forum: Programmieren allgemein

    Re: IsPowerOfN

      Delphi
      by gammatester, 26. Okt 2009
    Das macht die Sache einerseits leichter, aber auch undurchsichtiger. Wenn alles Integerwerte wären, hätten man fast einen Einzeiler:

    function IsPowerofN(x,n: int64): boolean;
    {-true wenn x>0, n>1 und x eine Potenz von n; sonst false}
    begin
    if (x>0) and (n>1) then begin
    while x mod n = 0 do x := x div n;
    IsPowerofN := x=1;
    end
    else IsPowerofN := false;
  • Forum: Programmieren allgemein

    Re: IsPowerOfN

      Delphi
      by gammatester, 26. Okt 2009
    Hinweis: Wolfgang Mix hat am 25.10.2009 den ersten Beitrag editiert und soweit ich beurteilen kann, folgendes eingefügt:

    Nun kann man geteilter Meinung sein, ob in 2^7 = 128 irgendeine Zahl groß ist (geschweige denn sehr groß), aber das ist ja nur einer von vielen Fehlern. Der aktuelle Code aus dem ersten Beitrag liefert: IsPowerOfX(0.5,2) = true, was ja auch richtig ist, da 0.5 = 2^(-1)....
  • Forum: Programmieren allgemein

    Re: IsPowerOfN

      Delphi
      by gammatester, 24. Okt 2009
    OK, nehm ich zurück: Ersetze "Blödsinn" durch "falsche Behauptungen". Bei der anderen Aussage wiederhole ich, was ich in #12 gesagt habe: "IsPowerOfN ist mE überflüssig, weil sie in der Praxis eigentlich keiner braucht."

    Leider wird, wie schon angemerkt, auf die eigentlichen Probleme nicht eingegangen: Auch wenn die Fehler in bisherigen Funktionen beseitigt würden, bleiben ernste...
  • Forum: Programmieren allgemein

    Re: IsPowerOfN

      Delphi
      by gammatester, 23. Okt 2009
    Vielleicht solltest Du mal in den Quellcode schauen, ehe Du falsche Vorstellungen in die Welt setzt. IsZero testet nicht gegen 0. Wenn Du keine Quellcode hast, wäre es doch keine Schande, zu fragen was IsZero eigentlich macht - jedenfalls bei Leuten, die sich nicht als perfekt bezeichnen :)
    IsZero(a) := abs(a) <= (type)Resolution mit
    ExtendedResolution = 1E-19 * FuzzFactor;
    DoubleResolution ...
  • Forum: Programmieren allgemein

    Re: IsPowerOfN

      Delphi
      by gammatester, 23. Okt 2009
    Profi-Version von was? Wie schon gesagt, lgx gibt's in math als logn. Das ist vielleicht(?) eine Profi-Version (und nebenbei eine Funktion, die Codegier/E.. im Laufe der Zeit nicht verschlimmbessert hat).

    IsPowerOfN ist mE überflüssig, weil sie in der Praxis eigentlich keiner braucht. Was gebraucht wird, sind Funktionen wie

    IsPrimePower(n: int64): boolean;
    IsPower(n: int64): boolean;
    ...
  • Forum: Programmieren allgemein

    Re: IsPowerOfN

      Delphi
      by gammatester, 23. Okt 2009
    Voll einverstanden. Eine ähnliche Diskussion hatten wir schon im Vorgängerthread zu lgx bzw. logn. Dort hatte ich auch auf math.logn verwiesen, und andere hatten den Nährwert bezweifelt.

    Das hält manche allerdings nicht davon ab, völlig triviale matmematische Aussagen in schlechte und falsche Programme umzusetzen.

    Wäre ja irgendwo kein Problem, wenn's nicht als Beitrag zu Codelibrary...
  • Forum: Programmieren allgemein

    Re: IsPowerOfN

      Delphi
      by gammatester, 23. Okt 2009
    ???
    Hast Du grad keine Delphi zur Hand? ln(0.5) = -0.6931471805599453094172321215!
  • Forum: Programmieren allgemein

    Re: IsPowerOfN

      Delphi
      by gammatester, 23. Okt 2009
    Leider wiedermal ziemlich ungetestet und falsch. Neben OldGrumpys Bedenken, hier ein fetter Bug: Jede Zahl number > 1 ist eine Potenz zu base < 1! Warum? Weil ln(number) > 0 und ln(base) < 0 also lgx(base, number) < 0 < 1e-9. Also ist mindestens ein abs dringend erforderlich.


    function IsPowerOfX(base, number: double): boolean;
    begin
    result := abs(frac(lgx(base, number))) < 1e-9;
    end;


URL zu dieser Suchanfrage:

https://www.delphipraxis.net/dp_search.php?do=usersearch&search_username=gammatester&search_exact_username=1&search_sortby=dateline&search_resulttype=post&search_matchmode=0&searchthreadid=142189
Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:37 Uhr.
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