为什么PEAR Math_BigInteger(48)=> 0?(案例:MATH_BIGINTEGER_MODE =>默认)

fre*_*ara 6 php math pear

我使用了PEAR/Math/BigInteger.php

  1. PHP 5.2.5(cli)
  2. Ubuntu的

$a = new Math_BigInteger(48);
echo $a -> toString()// '0'
Run Code Online (Sandbox Code Playgroud)

为什么?这是一个错误吗?

具体是 MATH_BIGINTEGER_MODE => default

3528函数_int2bytes($ x)

pack('N',48)=> 0

我们需要

如果('48 '===(字符串)$ x)的{$这 - >值=阵列('48');返回;}

cwe*_*ske 1

它在 i686 系统上适用于我:

$ php -r 'require_once "Math/BigInteger.php"; $a = new Math_BigInteger(48); echo $a -> toString();'
48
Run Code Online (Sandbox Code Playgroud)