PHP - MySQL [Retour au menu]
Traitement de très grand chiffres

Addition, division, modulo, multiplication, puissance, racine carrée, soustraction

 

Pour le traitement de très grands nombres, nous utilisons des fonctions commençant par bc. Le fonctionnement est à peu près toujours le même, c'est :

$VariableTexte = bcXXXX ("NombreTrèsGrandEnTexte" , "AutreNombreTrèsGrandEnTexte", NombreDeChiffresAprèsLaVirgule)

Addition

bcadd("123456789101112131415" , "9999999", 0)

Soustraction

bcsub("10" , "0.01", 6)

Division

bcdiv("10" , "3", 500)

Modulo

bcmod("10" , "3")

Multiplication

bcmul("1.3" , "2", 1)

Puissance

bcpow("2" , "10")

Racine carrée (4 décimales de précision)

bcsqrt("10" , 4)

Une application amusante serait l'affichage des puissances de 2 : 2 - 4 - 8 - 16 - 32 - etc. jusqu'à 1000 par exemple :

for ($Compteur= 2 ; $Compteur<= 1000 ; $Compteur++)
  {
  echo bcpow("2" , $Compteur) , "<BR>";
  }

Affichage du début :

2
4
8
16
32
64
128
256
512
1024
2048
etc.

Attention au temps d'exécution. Il est tellement fastidieux de réaliser

echo bcpow ("2" , 1000000)

que PHP risque de bloquer au bout d'un certain temps : "Warning execution time too long"

---