1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Größe von Zahlen

  • maciek
  • 15. November 2004 um 12:33
  • Unerledigt
  • maciek
    16
    maciek
    Mitglied
    Punkte
    2.805
    Beiträge
    434
    • 15. November 2004 um 12:33
    • #1

    Ich hab ein Problem: Und zwar mach ich eine RSA-Verschlüsselung in PHP und dabei kommen ziemlich grosse Zahlen vor (z.B. 5.5032903171625E+17). Der Algorithmus stimmt, weil er für kleinere Zahlen alles richtig macht, deswegen vermute ich, dass es daran liegt, dass beim Rechnen die grossen Zahlen von PHP gerundet werden bzw. dass die Genauigkeit, mit der PHP rechnet, nicht gut Genug ist.

    Deswegen meine Frage: Kann man in PHP (on the run - nicht in der Config) einstellen, wie groß die größte Zahl sein muss, mit der er umgehen können soll? Oder kann der Fehler doch woanders liegen? Kann es sein, dass die modulo-operation ("%") bei grossen Zahlen Probleme hat?

    Thanx for help.

    *** Make it idiot proof, and someone will build a better idiot. ***

  • b_UT
    4
    b_UT
    Mitglied
    Reaktionen
    1
    Punkte
    146
    Beiträge
    27
    • 15. November 2004 um 17:41
    • #2

    ich würd die frage noch auf http://www.phpug.ch posten - dort kriegst relativ sicher eine genaue Antwort.

    Klugheit ist gut - Geduld ist besser

  • dose
    13
    dose
    Mitglied
    Reaktionen
    4
    Punkte
    1.679
    Beiträge
    335
    • 15. November 2004 um 19:21
    • #3

    Ich kann Dir mit ziemlicher Sicherheit sagen, daß das mit "normaler" Float-Arithmetik nicht funktionieren wird, weil eben ab einer gewissen Größe (vermutlich bei Zahlen > 32 Bit) mit Gleitkommazahlen gearbeitet wird, und die eben nur eine gewisse Genauigkeit haben...

    yast, SuSEconfig, apt-get and rpm - the 4 horsemen of the apocalypse

    Platform of insanity :: http://www.dose-xp.org

  • maciek
    16
    maciek
    Mitglied
    Punkte
    2.805
    Beiträge
    434
    • 16. November 2004 um 08:05
    • #4

    Danke für die Hinweise. Ich hab die Lösung des Problems schon gefunden. Und zwar sollte man nicht zuerst die Potenzieren und dann modulo rechnen, sondern bei jedem Multiplikationsschritt gleich modulo rechnen. So wird die Zahl nicht so gross und das Problem gibt's erst gar nicht. Also z.B. statt (8^2) mod 5 zu rechnen, rechnet man ((8 mod 5) * :smiling_face_with_sunglasses: mod 5. :winking_face:

    Bevor ich aber drauf gekommen bin, habe ich versucht die Sache mit BCMath zu lösen. Leider hat bei jedem Aufruf von einer bc-Funktion meine Apache aufgehaut ... ?! :frowning_face:

    *** Make it idiot proof, and someone will build a better idiot. ***

  • Maximilian Rupp 27. Dezember 2024 um 12:06

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Rechtliches

Impressum

Datenschutzerklärung