[PHP-users 31521] Re: strvalの仕様

kondo nobuaki3.kondo @ toshiba.co.jp
2007年 2月 22日 (木) 11:05:58 JST


> さらに、いろいろな方からの動作報告をお待ちしております。
> 私もPHPソースを当たっているところですが、まだ場所が絞り切れていません。
> アドバイスがありましたら、よろしくお願いいたします。

古いディストリビューションですが、
テスト用の環境でRedHatLinux9(VMWarePlayer)で以下のようになりました。

PHP_INT_SIZE=4<br />
PHP_VERSION=4.4.1<br />
PHP_OS=Linux<br />
x[0]=12345678901<br />
intval(x[0])=-539222987<br />
strvall(x[0])=12345678901<br />
x[1]=123456789001<br />
intval(x[1])=-1097262583<br />
strvall(x[1])=123456789001<br />
x[2]=1234567890001<br />
intval(x[2])=1912276049<br />
strvall(x[2])=1234567890001<br />
x[3]=12345678900001<br />
intval(x[3])=1942891297<br />
strvall(x[3])=12345678900001<br />

もし、巨大な数値を扱うのに言語にこだわらなければ
Rubyを使うという手もあるかと思います。
Rubyにはそういうのが扱える多倍長整数というのに対応しているようです。
参考:http://idm.s9.xrea.com/factorization/multiprec/multiprec.html#whats



PHP-users メーリングリストの案内