Bonjour à tous j'ai un petit problème avec une fonction random que voici:
Les opératiosn ne se font pas comme prévu et cela à cause du 1103515245 qui dépasse la mémoire des int, donc j'ai changé tout en long. Sauf qu'en changeant tout en long et bien j'obtiens à la suite:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 public int my_rand () { number_ = (number_ * 1103515245) + 12345; System.out.println("MULT" + " " + number_); number_ = ((number_ >> 16) & 32767) % 8; return number_; } public void my_srand (int seed) { number_ = seed; }
7
4
1
6
6
6
6
6
6
6
6
...
Passé 4 itérations il y a que des 6 qui s'affichent, quelqu'un aurait-il une idée sur le problème de cette fonction?
Merci.
Partager