2011-03-07 6 views
6

I utiliza PEAR/Math/BigInteger.php¿Por qué PEAR Math_BigInteger (48) => 0? (Caso: MATH_BIGINTEGER_MODE => predeterminado)

  1. PHP 5.2.5 (CLI)
  2. ubuntu

pero

$a = new Math_BigInteger(48); 
echo $a -> toString()// '0' 

¿Por qué? ¿es un error?

es específica de MATH_BIGINTEGER_MODE => default

3528 _int2bytes función ($ x)

paquete ('N', 48) => 0

necesitamos

if ('48 '=== (cadena) $ x) {$ this-> value = array ('48'); return;}

+0

funciona bien para mí, qué sistema operativo, versión de PHP, etc está usando? – Jacob

+0

No debería ser necesario a menos que esté ejecutando una versión 4.x de PHP, pero ¿qué ocurre si prueba echo $ a-> toString(); ? –

+2

Sugiero usar un depurador y entrar para ver qué está pasando. – Jacob

Respuesta

1

Me funciona en un sistema i686:

$ php -r 'require_once "Math/BigInteger.php"; $a = new Math_BigInteger(48); echo $a -> toString();' 
48 
Cuestiones relacionadas