Mail/M'écrire



Comment calculer PI en base 2 ?
(André Brouty janvier 1996)
Cet exposé est sous licence libre LLDD.

La partie entière ne pose pas de problème 3 s'écrivant 11.
la partie décimale de PI s'écrit (en base 10):

a2-1 + b2-2 + c2-3 + d2-4 + .... + p2-n + ....... = PI - 3

où les a, b, c etc... représentent 0 ou 1.

Si nous multiplions par 2 nous obtenons:

a + b2-1 + c2-2 + d2-3 + .... + p2(-n+1) + ....... = 2*(PI - 3)

a valant toujours 0 ou 1. Si le nombre obtenu est plus grand que 1 a = 1 sinon a = 0, et on recommence sur la partie restante pour trouver b. L'algorithme est simple, mais pas très efficace. On peut faire beaucoup mieux. Pourquoi multiplier par 2 alors que l'on pourrait multiplier par 2n, n étant le plus grand possible compatible avec la technique de multiplication decrite précédemment Nous obtenons:

a2(n-1) + b2(n-2) + c2(n-3) + d2(n-4) + .... + p + q2-1 + ....... = 2n(PI - 3)

Les a,b,c,....,p représentent le développement en base 2 de la partie entière de 2n(PI - 3). Il suffit donc de passer cette partie entière en base 2 pour obtenir en une multiplication n décimales en base 2.

Ici nous avons choisi n valant 11 ou 14 ou 17 suivant la BASE pour les machines à mots de 32 bits, et n valant 13 ou 16 ou 19 pour les machines à mots de 64 bits.