Zahl testen auf gerade/ungerade ????

HammerHe@rt

Erfahrenes Mitglied
gibs doch bestimmt ne ultra leichte methode um das in php zu testen oder?????

also ich will ne zahl testen ob sie gerade ist dann soll was passieren.....wenn nicht dann nicht ^^

gibs dafür ne funktion in php ? wenn nein wie fragt man das ab ? is ja dann mathematisches problem..

mfG
Hammerhe@rt
 
so geht es einfach

also das einfachste was ich kenne ist

$j ist deine zahl
und damit kannst du es checken:

if ($j&1) { echo "mach das"; } else { echo "mach dies"; }
 
du kannst es auch so machen falls dir das logischer erscheint :)

<?
$x = 11;
if ($x%2) {
echo "Zahl $x ist ungrade";
}
else
{
echo "Zahl $x ist ungrade";
}
?>
 
Die allereinfachste Methode ist einfach zu überprüfen.

eine Gerade Zahl kann man dzurch 2 dividieren ohne das ein Rest überbleibt.

Also:

PHP:
if ($x % 2 !=0)
{echo "Zahl ist ungerade";}
else
{echo "Zahl ist gerade";}
Ende nicht mehr ..
 
HammerHe@rt hat gesagt.:
jo und was passiert da nu genau bei

if ($j&1)


also was bedeutet &1 ?


würde mich mal interessieren ^^

mfG
Hammerhe@rt

Hi,
& ist ein sogenannter Bit-Operator
.
$a & $b --- Bits, die in $a und $b gesetzt sind werden gesetzt.
Beispiel:
Code:
12 & 1:

  1100
& 0001
------
  0000 => gerade

13 & 1:

  1101
& 0001
-----
  0001 => ungerade

In der Binärdarstellung ist die letzte Stelle bei ungeraden Zahlen immer 1 und mittels $var & 1 wird überprüft, ob die letzte Ziffer eine 1 ist.

Bisher griff ich für sowas auf den Modulo-Operator zurück, da es am nächsten liegt, den Rest bei einer Division durch 2 zu betrachten, aber diese Variante ist ganz interessant.

Gruß
Marvin
 
Zurück