Uint gibi bir dizi tedavi için PHP zorlamak nasıl

0 Cevap

Şöyle bazı C # kodu var:

uint a = 0x9E3779B9;
a += (uint)(url[k + 0] + (url[k + 1] << 8) + (url[k + 2] << 16) + (url[k + 3] << 24));

Bu kodu sonra, == 228 452 386

Şimdi PHP bu C # kodu çevirmek çalışıyorum, ama PHP numara aynı şekilde aşmamasını:

$a = 0x9E3779B9;
$a += ($url[$k+0] + ($url[$k+1] << 8) + ($url[$k+2] << 16) + ($url[$k+3] << 24));

Bu kodu sonra, == 4 523 419 682 $

Her iki coses in "url" ascii değerler dizisi olarak kabul edilir. Döner an $ a kadar aynı sonuçları, ikinci hattın sonuca ilave edilmektedir. Bu noktada C # uint ~ 228 milyon etmek taşıyor. PHP "zeki" alır ve "doğru" cevabı ile çıkageldi.

Ama C # verdiği taştı cevap istiyorum. Ben ne yapmalıyım?

0 Cevap