Forum Doku Wiki Blog

Forumsarchiv 2007, April
gerade oder ungerade zahl

archivierte Beiträge lesen

  1. (PHP) gerade oder ungerade zahl von Stacie, 17. 04. 2007, 14:05

gerade oder ungerade zahl

Der folgende Beitrag wurde am 17. 04. 2007, 14:05 Uhr von Stacie veröffentlicht.

Hi,

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

Vielen Dank

gerade oder ungerade zahl

Der folgende Beitrag wurde am 17. 04. 2007, 14:08 Uhr von GodLike veröffentlicht.

> 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

gerade oder ungerade zahl

Der folgende Beitrag wurde am 17. 04. 2007, 14:13 Uhr von Stacie veröffentlicht.

Vielen lieben Dank

gerade oder ungerade zahl

Der folgende Beitrag wurde am 17. 04. 2007, 14:23 Uhr von Mathias Brodala veröffentlicht.

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:

$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

gerade oder ungerade zahl

Der folgende Beitrag wurde am 17. 04. 2007, 14:52 Uhr von Jens Holzkämper veröffentlicht.

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:

$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

© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4