gerade oder ungerade zahl
Stacie
- php
0 GodLike
Hi,
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