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