gerade oder ungerade zahl
    
Stacie
    
    
      
    
  - php
- 0 GodLike
 nicht angemeldet
 nicht angemeldetHi,
mit welcher Funktion kann man prüfen, ob eine Zahl gerade oder ungerade ist??
Vielen Dank
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
Vielen lieben Dank
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
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