Racine carrée (ajout aux fonctions précédentes)

Contenu du snippet

Voilà, il y a quelques temps, j'avais posté une source avec un ensemble de fonctions mathématiques pour les calculs sur de très grands nombre:
http://www.vbfrance.com/article.aspx?ID=9115
J'avais dit que j'ajouterais des fonctions, c'est chose faite avec celles-ci.

POUR FONCTIONNER, ELLES NECESSITES LES AUTRES FONCTIONS (voir l'autre source).

Source / Exemple :


Public Function racine(nombre As String, reste As Boolean)
If Len(nombre) Mod 2 = 1 Then nombre = "0" & nombre
tmp3 = "0"
For i = 1 To Len(nombre) Step 2
    tmp1 = tmp3 & Mid$(nombre, i, 2)
    tmp2 = "0"
    tmp5 = multi(Mid$(racine, 1), "2")
    If i = 1 Then tmp4 = 0: tmp2 = Int(Sqr(tmp1)) ^ 2: a = Int(Sqr(tmp1)): tmp0 = tmp2: GoTo nott
    For a = 0 To 10
        tmp0 = tmp2
        If a < 10 Then tmp2 = multi(tmp5 & Mid$(a, 1), Mid$(a, 1))
        If a = 10 Then tmp2 = multi(addition(multi(Mid$(tmp5, 1), "10"), Mid$(a, 1)), Mid$(a, 1))
        tmp4 = pgdd(Mid$(tmp2, 1), Mid$(tmp1, 1))
        If tmp4 = 0 Then Exit For
        If tmp4 = 1 Then Exit For
    Next a
nott:
    tmp3 = soustraction(Mid$(tmp1, 1), Mid$(tmp0, 1))
    racine = racine & Mid(a - tmp4, 1)
Next i
If reste = True Then racine = racine & "r" & tmp3
End Function

Function addit(nombre As String)
For i = 1 To Len(nombre)
addit = addition(Mid$(addit, 1), Mid$(nombre, i, 1))
Next i
End Function

Public Function DecToBin(nombre As String)
Do While nombre <> "0"
bini = Val(Right(nombre, 1)) Mod 2
biny = bini & biny
nombre = divis2(nombre)
Loop
DecToBin = biny
End Function

Public Function divis2(ByVal nombre As String)
suiv = 0: div2 = ""
For i = 1 To Len(nombre)
div2 = div2 & Val(Mid(nombre, i, 1)) \ 2 + suiv
suiv = (Val(Mid(nombre, i, 1)) Mod 2) * 5
Next i
divis2 = zero(Mid$(div2, 1))
End Function

Conclusion :


::RACINE CARREE::
----------------------

racine(nombre, reste)

renvoie la racine entière de nombre, si reste vaut TRUE, renvoie la racine de nombre entière suivit de 'r' et du reste.

:: Decimal en Binaire :: || MàJ ||
--------------------------

DecToBin(nombre)

renvoie la valeur binaire (1 et 0) de nombre, je l'ai améliorée de facon à la rendre plus rapide (beaucoup plus rapide).

:: Division par 2 ::
---------------------

C'est grace à cette fonction que DecToBin est plus rapide, elle peut être utilisée de préférence à la fonction Division, mais n'a été créer que pour la fonction DecToBin

:: Addition des chiffres du nombre ::
-----------------------------------------

Addit(nombre)

Renvoie la somme des chiffres composants le nombre.
EXEMPLE: addit ("223") renvoie 2+2+3, soit 7.

RAPPEL: NECESSITE LES AUTRES FONCTIONS:
http://www.vbfrance.com/article.aspx?ID=9115

A voir également

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.