Stacie: gerade oder ungerade zahl

Hi,

mit welcher Funktion kann man prüfen, ob eine Zahl gerade oder ungerade ist??

Vielen Dank

  1. Hi,

    mit welcher Funktion kann man prüfen, ob eine Zahl gerade oder ungerade ist??

    Vielen Dank

      
      
    $x = 4;  
      
    if($x % 2 == 0) {  
     echo 'gerade Zahl';  
    } else {  
     echo 'ungerade Zahl';  
    }  
      
    
    

    Das %-Zeichen heisst auch Modulo und liefert dir den Rest einer Teilung oder wenn es keinen gibt 0. Gerade Zahlen sind durch 2 teilbar und ergibt somit keinen Rest.

    GodLike

    1. Vielen lieben Dank

    2. Hallo GodLike.

      mit welcher Funktion kann man prüfen, ob eine Zahl gerade oder ungerade ist??

      Vielen Dank

      $x = 4;

      if($x % 2 == 0) {
      echo 'gerade Zahl';
      } else {
      echo 'ungerade Zahl';
      }

        
      Alternativvorschlag, welcher sicher um einige winzige Mikrosekunden schneller ist, da die mehrfache Division entfällt:  
        
      ~~~php
      $x = 4; // Bitmuster: 0100  
        
      // 0100 | 0001 = 0101 = 5  
      // 5 != 4 => $x gerade  
      if (($x | 1) == $x) {  
        
        echo 'Ungerade Zahl';  
      } else {  
        
        echo 'Gerade Zahl';  
      }
      

      Nur als Anregung.

      Einen schönen Dienstag noch.

      Gruß, Mathias

      --
      ie:% fl:| br:< va:) ls:& fo:) rl:( n4:~ ss:) de:] js:| mo:| zu:)
      debian/rules
      1. Tach,

        Alternativvorschlag, welcher sicher um einige winzige Mikrosekunden schneller ist, da die mehrfache Division entfällt:

        $x = 4; // Bitmuster: 0100

        // 0100 | 0001 = 0101 = 5
        // 5 != 4 => $x gerade
        if (($x | 1) == $x) {

        echo 'Ungerade Zahl';
        } else {

        echo 'Gerade Zahl';
        }

          
        wenn schon bitweise Verknüpfung, dann doch einfach maskieren:  
          
        ~~~php
        $x = 4; // Bitmuster: 0100  
          
        // 0100 & 0001 = 0000 = 0  
        // letzte Ziffer im Bitmuster ist Null, also gerade  
          
        if ($x & 1) {  
          
        echo 'Gerade Zahl';  
          
        } else {  
          
          echo 'Unerade Zahl';  
          
        }
        

        mfg
        Woodfighter