Modulo mit einer verdammt grossen Zahl

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Modulo mit einer verdammt grossen Zahl

    Hallo zusammen

    Ich habe gerade mit unseren VB-Spinnern eine kleine Wette laufen, wer mit weniger Code den Restwert einer max. 24-stelligen Ganzzahl erhält.

    Leider haut es mich beim Modulo der gesamten Zahl immer auf die Schnauze.

    Bsp.
    2300101023502601121700%97 ergibt bei mir 0, sollte aber 88 ergeben.


    Danke und Gruss
    Philipp

  • #2
    Re: Modulo mit einer verdammt grossen Zahl

    PHP-Code:
    echo bcmod('2300101023502601121700'97); 
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Hey danke..

      Hab ich noch nicht gekannt. Da kommen die VB-ler nicht mit....

      Kommentar


      • #4
        Original geschrieben von philippCH
        Hey danke..

        Hab ich noch nicht gekannt. Da kommen die VB-ler nicht mit....
        VB ist ja auch was ganz anderes wie php, das zu vergleichen hat null Sinn ~_~

        Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

        bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
        Wie man Fragen richtig stellt

        Kommentar


        • #5
          OffTopic:

          Versucht das mal in Assembler..

          gruss Chris

          [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

          Kommentar


          • #6
            philippCH, zur erklärung: eine ganze zahl wird in php nur mittels integer repräsentiert. auf einem 32-bit prozessor kann dieser also maximal 2^32 (irgendwas um 2,15 milliarden) werden. deine zahl übersteigt diesen wert offensichtlich um einiges, wird von php daher vermutlich nicht als integer erkannt und nach irgendwas (string? bei dieser overkill-sprache weiß man das nie) gecastet. die bc*() funktionen wird diese einschränkung aufgehoben, da die zahlen intern nicht mehr als integer sondern als komplexere datentypen ("bitfelder beliebiger länge") behandelt werden und die arithmetik wird auf binäre darstellung verlagert.

            Kommentar


            • #7
              Wenn du das den VBlern zeigst, kommen die 'ne Stunde später mit dem VB-Äquivalent zu
              PHP-Code:
              echo shell_exec('echo "2300101023502601121700%97" | bc'); 
              sofern das in VB überhaupt möglich ist.

              Kommentar


              • #8
                da musste ich echt schmunzeln.

                vb vs. php .... naja unter den blinden ist der einäugige eben der könig

                greets
                (((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")

                Kommentar

                Lädt...
                X