grade oder ungrade???

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

  • grade oder ungrade???

    wie bekomm ich am besten heraus, ob ne zahl grade oder ungrade ist??

    der zahlen bereich geth von 1 - 1000000 (max, meist aber daunter, weit daunter..)

    ich hab da nähmlich was inner while schleife...

    mfg
    Trashar

  • #2
    Code:
    $gueltig = $zahl % 2;
    if ($gueltig == 0) {
    	print "$zahl ist durch 2 teilbar<br>\n";
    }

    Kommentar


    • #3
      Würde ich auch so machen. Ist ja kein Ding!

      EDIT:

      Kannst dir ja am Besten direkt ne Funktion drausbauen:

      gerade(Hier machst du deine Zahl rein!);
      -------------------------------
      function gerade($zahl) {
      $gueltig = $zahl % 2;
      if ($gueltig == 0) {
      return "ja";
      } else {
      return "nein";
      }
      }





      [ciao]
      der Tobi

      [Editiert von TobiaZ am 19-01-2002 um 14:28]

      Kommentar


      • #4
        danke für euren hilfreichen tipps ;-)

        mfg

        Kommentar


        • #5
          np *lol*

          Kommentar


          • #6
            moment mal!
            alles viel zu kompliziert!
            eine zahl ist gerade wenn sie durch 2 teilbat ist, das habt ihr mit dem Modulo operator ja auch getestet. es geht aber auch anders (vorausgesetzt die zahl ist ein integer!!):

            eine birärzahl ist gerade wenn bit 0 auf 0 bzw. ungerade wenn bit 0 auf 1 gesetzt ist, beispiel:

            7 = 111
            6 = 110

            oder

            15 = 1111
            14 = 1110

            jetzt braucht man nur das unterste bit auf 1 testen, also mir boolschen AND:

            111 & 1 = 1 (TRUE)
            110 & 1 = 0 (FALSE)

            oder:

            $n = (integer)7;

            if($n & 1).......


            -Tom

            Kommentar


            • #7
              Original geschrieben von tomschrot
              moment mal!
              alles viel zu kompliziert!
              eine zahl ist gerade wenn sie durch 2 teilbat ist, das habt ihr mit dem Modulo operator ja auch getestet. es geht aber auch anders (vorausgesetzt die zahl ist ein integer!!):

              eine birärzahl ist gerade wenn bit 0 auf 0 bzw. ungerade wenn bit 0 auf 1 gesetzt ist, beispiel:

              7 = 111
              6 = 110

              oder

              15 = 1111
              14 = 1110

              jetzt braucht man nur das unterste bit auf 1 testen, also mir boolschen AND:

              111 & 1 = 1 (TRUE)
              110 & 1 = 0 (FALSE)

              oder:

              $n = (integer)7;

              if($n & 1).......


              -Tom

              ROFL Tom warum fangen wir nicht gleich an und versuchen es in Assembler herrauszufinden?!?!

              Kommentar


              • #8
                Original geschrieben von tomschrot
                also mir boolschen AND:
                & ist ein sog. "Bitwise OR". Die Boole'schen Operatoren sind && und AND.

                CAT Music Files

                Kommentar


                • #9
                  hmm,

                  @croatiaMan

                  Naja die Idee ist eigentlich sehr gut weil viel schneller als die modula Funktion, in zeitkritischen Funktionen kann das urchaus Sinn machen !

                  Kommentar


                  • #10
                    Ja gut aber ich muß gestehen! Ich habe noch nie ein system gesehen das diese Microsekunden ausnutzen könnte! Stark frequentierte Server sind sowieso total überlastet. Da hilft auch das nicht mehr! Dann werden sind diese o.g. Microsekunden auch wieder nicht bemerkbar weil immer noch Waitstates durch Puffer und Cache Lesezeiten, sowie Proxyrouting u.v.v.v.m. dazu, selbst der Internet Explorer verlangsamt den ganzen Spaß schon merklich. Das finde ich fällt sowas beim besten willen nicht ins Gewicht!

                    Kommentar


                    • #11
                      -stimmt
                      wenns wirklich zeitkritisch ist is assembler das mittel der wahl!

                      eigentlich gehts ja um bitfelder. d.h. mehrere optionen sparsam zu verpacken und z.b. in SQL zu speichern. SQL erlaubt ja auch bit operationen!

                      nix für ungut!

                      ;D

                      Kommentar

                      Lädt...
                      X