Не уверен, что это работает для php, мне удалось заставить его работать с C #.
int a, b, result;
//Instead of
result = a >>> b;
//I do
result = (int)((uint)a >> b);
Я выяснил это, отладив код, использующий >>>
, сравнивая его с версией C # кода, который я преобразовал из javascript. При попытке с b = 0
и с помощью научного калькулятора, чтобы увидеть различные шестнадцатеричные / десятичные результаты >>
и >>>
, производимые с помощью javascript. Когда a
отрицательно, >>>
фактически делает aa беззнаковым.
Не уверен, что это работает для всех сценариев, но для моего случая >>>
- для хеширования md5. Будучи способным производить аналогичные результаты, я вполне доволен результатом.
Надеюсь, это поможет