Есть 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.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Подскажите, пожалуйста, как добавить вывод php кода в тело addScriptDeclaration?
Есть база данных с игроками, тренерами, командами и чемпионатамиКаждая новость должна находится в определенной категории