Hallo epvpler^^
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:
zufallszahl ist ja soweit ich das verstehe eine zahl von 0 bis 9999. Bei einer geraden Zufallszahl geht das Programm in den if-Zweig und bei einer ungeraden in den else-Zweig. Woher weißt das Programm denn in welchen Zweig es soll?
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! :( Ich blicke überhaupt nimmer durch. Und wieso wird 1L verwendet? Das ist doch nur eine 1 als long gespeichert oder?
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
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! :( Ich blicke überhaupt nimmer durch. Und wieso wird 1L verwendet? Das ist doch nur eine 1 als long gespeichert oder?
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