У меня есть некоторые C# код, который выглядит следующим образом:Как заставить PHP для лечения ряда как UINT
uint a = 0x9E3779B9;
a += (uint)(url[k + 0] + (url[k + 1] << 8) + (url[k + 2] << 16) + (url[k + 3] << 24));
После этого кода, в == 228 452 386
Сейчас я пытаюсь перевести этот C# код на PHP, но в PHP число не переполнить таким же образом:
$a = 0x9E3779B9;
$a += ($url[$k+0] + ($url[$k+1] << 8) + ($url[$k+2] << 16) + ($url[$k+3] << 24));
После этого кода $ а == 4 523 419 682
В обоих случаях «url» рассматривается как массив значений ascii. Возвращает те же результаты до момента добавления $ a к результату второй строки. В этот момент C# uint переполняется до ~ 228 миллионов. PHP становится «умным» и придумывает «правильный» ответ.
Но я хочу переполненный ответ, который дает C#. Что мне делать?