Calcul approché de racines carrées

Soyez le premier à donner votre avis sur cette source.

Vue 3 315 fois - Téléchargée 188 fois

Description

C'est un petit algorithme, sans prétention, permettant de calculer LA PARTIE ENTIÈRE SEULEMENT d'une racine carrée à quelque chose près (faites gaffe, plus le nombre grandit, plus l'erreur augmente de façon exponentielle).
Mais je pense que l'algorithme est loin d'être efficace et n'est pas utilisable car trop imprécis. Le temps de l'affiner (je l'ai trouvé ce matin...) et je lancerais une prochaine version.

Source / Exemple :


Private Function CalculeRacine(Nombre As Double)
Dim sNb As String
Dim sTMP As String
Dim i As Integer, j As Integer
sNb = DecToBin(Nombre, 30)   '<< Une fonction quelquonque permettant de
sTMP = vbNullString                    'passer d'un NOMBRE décimal à une CHAINE
For i = Len(sNb) To 1 Step -1      'DE CARACTERE binaire...
    sTMP = sTMP & Mid(sNb, i, 1)
Next i
sNb = sTMP
sTMP = Nombre
For i = 1 To Len(sNb)
    j = Round(i / 2, 0)
    If Mid(sNb, i, 1) = "1" Then sTMP = sTMP - 2 ^ (i - 1) + 2 ^ (j - 1)
Next i
CalculeRacine = sTMP
End Fucntion

Conclusion :


Bon comme je l'ai dit, cet algorithme est très très imprécis, je vais essayer de l'améliorer et je lancerais une autre version.
PS Je sais pas non plus si c'est niveau 1 ou 2... je mets 2.

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Saros Messages postés 921 Date d'inscription vendredi 20 décembre 2002 Statut Membre Dernière intervention 23 septembre 2010
7 mars 2005 à 23:13
Je m'attendais pas à être noté pour cette source, encore moins d'un 8 (merci)
C'était juste une curiosité, comme ça... Aucun interêt en soi...
cs_KIRU Messages postés 8 Date d'inscription samedi 12 janvier 2002 Statut Membre Dernière intervention 28 novembre 2008
7 mars 2005 à 21:49
ok mais j'avoue elle n'est pas mal ta source , je vais te mettre un 8/10
Saros Messages postés 921 Date d'inscription vendredi 20 décembre 2002 Statut Membre Dernière intervention 23 septembre 2010
5 mars 2005 à 20:10
T'inquiète j'en suis pas là :)
C'est juste pour expérimenter une méthode de décalage de bits. L'algo n'est pas utilisable tel quel.
cs_KIRU Messages postés 8 Date d'inscription samedi 12 janvier 2002 Statut Membre Dernière intervention 28 novembre 2008
5 mars 2005 à 17:55
essaie ca
pour racine carré
msgbox text1.text ^(1/2)

pour racine cubique
msgbox text1.text ^(1/3)

c + efficace
Saros Messages postés 921 Date d'inscription vendredi 20 décembre 2002 Statut Membre Dernière intervention 23 septembre 2010
2 mai 2003 à 14:20
C'est bon !

Saros
Afficher les 6 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.