Thomas Meinike: Kann man prüfen ob eine Zahl gerade ist?

Beitrag lesen

Hallo,

Man, man, man - was ist das jetzt schon wieder? Was hat die Schreibweise unten mit Bits zu tun? Und was bedeutet & als Operator?

zahl & 1 prueft, ob das 2^0-Bit gesetzt ist, und wenn ja, dann ist die Zahl ungerade, weil alle anderen Potenzen von 2 zu geraden Zahlen fuehren und somit auch die Summe gerade ist.

4=1*2^2+0*2^1+0*2^0 --> 10_0_
5=1*2^2+0*2^1+1*2^0 --> 10_1_

Ist das wieder Sprachenübergreifend so?

Ja:

<?php

$x=5;
if($x & 1)print "Ungerade Zahl\n";
else print "Gerade Zahl\n";

?>

MfG, Thomas