我有一些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
在這兩個cels中,「url」被視爲一個ascii值的數組。返回相同的結果,直到$ a被添加到第二行的結果爲止。那時C#uint溢出至2.28億。 PHP變得「聰明」,並提出「正確」的答案。
但我想要C#給出的溢出答案。我該怎麼辦?