Witam serdecznie.
Mam pewien problem z jednym zadaniem.
Funkcja ma losować liczbę typu INT ( 32 bitową ( wiem, że int jest 16 bitowy )) i zwracac losowa wartosc z przedzialu 0 do 1 000 000.
napisałem coś takiego w pętli for :
petla...
int liczba = rand();
liczba = liczba << 15;
liczba = liczba % 1000001;
lecz kolega sugeruje mi że ma to wyglądać trochę inaczej, a tak :
petla...
int liczba = rand();
liczba = liczba << 15;
liczba = liczba + rand(); <----- Dodane od kolegi
liczba = liczba % 1000001;
Mógłby ktoś mi wytłumaczyć dlaczego ? wydaje mi się że program moj losuje prawidlowo