Il est de bon ton de se souhaiter la bonne année. Mais vous, et vous seul, pourrez faire en sorte que cette année soit bonne, meilleure que celle qui vient de s'écouler. Apprenez à ne compter que sur vous, car personne n'est plus qualifié que vous-même pour bâtir, réparer ou améliorer votre propre vie. Personne ne fera les choses à votre place. D'ailleurs, tout ce que les autres peuvent faire, c'est souhaiter que vous le fassiez. Et ne croyez pas que tout ceux qui vous entourent vous apporteront des solutions : certains font juste partie de vos problèmes. Transformez vos résolutions en actes, et dans douze mois, retournez-vous et souriez-vous fièrement : C'était long. C'était difficile. Mais ça y est : 2017 était une bonne année, merci Moi.

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"

---