- 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
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