Bonjour à tous j'ai un petit problème avec une fonction random que voici:

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;
	}
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:
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.