2825379669
не не вписывается в 32 бита.
Все числа в JavaScript являются 64-битными числами с плавающей запятой, но при выполнении над ними битовых операций они сначала преобразуются в 32-битные целые числазатем выполняется побитовая операция, после чего они преобразуются обратно в 64-разрядное число с плавающей запятой.
С другой стороны, Python успешно обрабатывает long
значения (более 32 бит) для целых чисел.
Так что, если вы хотите получить тот же результат в JavaScript, вам придется сделать несколько уловок, например, сохранить 64-битное целое число в двух числах JavaScript, а затем выполнить операции с этими двумя.Который будет даже медленнее, чем и без того ужасная медленная встроенная конвертация float в int и обратно.