-1

mysqlで:

select CAST(17640478426339470149 as SIGNED INTEGER); #-806265647370081467

PHPで:

echo sprintf("%d", 17640478426339470149); #-806265647370082304

どうすれば同じ signed int を取得できますか? (そして、なぜこの違いが生じるのですか?)

4

1 に答える 1

0

解決策を見つけましたが、それが最適かどうかはわかりませんが、少なくとも機能します。

echo gmp_strval(gmp_com(gmp_xor('17640478426339470149', '0xffffffffffffffff')));
#-806265647370081467
于 2013-03-26T18:43:26.783 に答える