Be careful with GMP - it considers leading zeros in a number string as meaning the number is in octal, whereas 'bc' doesn't:
gmp_strval("000100", 10) => 64
bcmul("000100", "1") => 100Ces fonctions permettent de travailler avec des nombres de taille arbitraire, en utilisant la bibliothèque GNU MP.
Note:
La plupart des fonctions GMP acceptent des nombres GMP comme arguments. Ils sont montrés dans la documentation comme des objets GMP. La plupart de ces fonctions acceptent également des arguments sous la forme numérique et de chaîne de caractères, tant qu'il est possible de les convertir plus tard en nombre. Ainsi, s'il existe une fonction plus performante qui peut fonctionner sur les arguments (entiers seulement), alors elle sera utilisée à la place (cela est fait de manière transparente). Voir aussi la fonction gmp_init().
Note:
Des opérateurs arithmétiques, sur les bits, et de comparaison peuvent être utilisés avec les objets GMP retournés depuis gmp_init() et les autres fonctions GMP.
Les entiers volumineux doivent être spécifiés en tant que chaînes - autrement, PHP les force en nombre décimal, entraînant une perte de précision.