Hab mal ne kleine Frage und wollt mich jetzt nicht irgendwo anders anmelden und deshalb frag ich mal kurz hier:
Und zwar versteh ich diese Funktion nicht:
Code:
int get_ungerade()
{
int zufallszahl;
zufallszahl = rand()%10000;
if(! (zufallszahl & 1L)) return zufallszahl + 1;
else return zufallszahl;
}
Hab zum testen mal paar ausgaben gemacht:
!400 ist gleich 0
!401 ist gleich 0
1L ist gleich 0
Ergo ist jede !Zahl gleich 0. Und in der Bedingung steht immer:
(!(0 & 0)) --> (!(false & false)) --> (!false) --> (true)
Bitte um Erklärung!
P.s.: Habe vor einer Woche erst mit C++ angefangen und kannte bisher nur die Grundlagen in Java. Also bitte nur leicht zu verstehende Erklärungen xD






