Почему PEAR Math_BigInteger (48) => 0? (case: MATH_BIGINTEGER_MODE => по умолчанию) - PullRequest
6 голосов
/ 07 марта 2011

Я использовал PEAR / Math / BigInteger.php

  1. PHP 5.2.5 (cli)
  2. убунт

но

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

Почему? это ошибка?

это специфично для MATH_BIGINTEGER_MODE => default

3528 функция _int2bytes ($ x)

pack ('N', 48) => 0

нам нужно

* +1025 *, если ('48 '=== (строка) $ х) {$ этом-> значение = массив ('48'); возвращение;}

1 Ответ

1 голос
/ 29 июня 2011

Это работает для меня в системе i686:

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