Есть php код для генерации последовательности чисел:
$seed = 100;
$seed = (1103515245 * $seed + 12345) % (1 << 31);
dump($seed);
$seed = (1103515245 * $seed + 12345) % (1 << 31);
dump($seed);
Он сгенерирует два числа:
829870797
1533044610
Этот же код переписанный на javascript:
var seed = 100;
seed = (1103515245 * seed + 12345) % (1 << 31);
console.log(seed);
seed = (1103515245 * seed + 12345) % (1 << 31);
console.log(seed);
Сгенерирует это:
829870797
1533044608
Почему второе число в js отличается и как это оба варианта привести к общему виду?
Оба вывода (и в PHP и в JavaScript) неправильны. С PHP здесь тоже самое, что и с JavaScript, описанное мной ниже.
Число (1103515245 * 829870797) выходит за пределы точности чисел в JavaScript. Смотрите ответ на английском StackOverflow про это.
Если вам в JavaScript нужно работать с такими числами, то пользуйтесь библиотекой BigInteger.js или Big Number.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости