Salut, voici un code créer des mes propre main et sans aide, autant dire que j'en suis très fier car dès aujourd'hui, j'ai compris comment ça fonctionnais
C'est super facile en faite !
Le code fonctionne avec des BigInteger, comme ça, pas de soucis de débordement
N'oubliez pas d'ajouter la référence System.Numerics à votre projet pour que ceci fonctionne !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62 Imports System.Numerics Module Module1 Function Bin(ByVal Nombre As BigInteger) Dim Binaire As String = "" Dim NombreSortie As BigInteger = 0 Do NombreSortie = Nombre / 2 Binaire += (Nombre - (NombreSortie * 2)).ToString Nombre = NombreSortie Loop Until Nombre = 0 Return StrReverse(Binaire) End Function Function BinVal(ByVal Bin As String) Dim NombreSortie As BigInteger = 0 Dim Bite As String = "" If Bin > "" Then For Index = 1 To Bin.Length Bite = Bin.Substring(Index - 1, 1) If Bite = "0" Then NombreSortie *= 2 ElseIf Bite = "1" Then NombreSortie *= 2 NombreSortie += 1 End If Next Return NombreSortie Else Return "" End If End Function Sub Main() Dim NombreOriginale As BigInteger = BigInteger.Parse("1234567890123456789012345678901234567890") Dim NombreVersBinaire As String = Bin(NombreOriginale) Dim BinaireVersNombre As BigInteger = BinVal(NombreVersBinaire) Debug.WriteLine(NombreOriginale.ToString & " En Binaire = " & NombreVersBinaire) Debug.WriteLine(NombreVersBinaire & " Vers Nombre = " & BinaireVersNombre.ToString) End Sub End Module
Partager