Salut à tous,

Je travaille actuellement sur les entiers longs non signés (Ulong,uint64) et
il me faut un convertisseur correct pour utiliser des masques etc...mais bizarement ils ne me donnent pas tous les mêmes résultats.Par exemple en ligne (2 exemples:http://pagesperso-orange.fr/serge.kn...vertisseur.htm et http://www.easycalculation.com/decimal-converter.php) le décimal "36028797018963970" donne en binaire "10000000000000000000000000000000000000000000000000000000" alors que les exemples de progs comme celui-ci:
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
 
Module Module1
 
    Sub Main()
        Dim value As ULong = 36028797018963970UL
 
        Console.WriteLine(Bin(value))
        Console.Read()
 
    End Sub
    Private Function Bin(ByVal x As ULong) As String
        Dim temp As String
 
        temp = ""
        Do
            If x Mod 2 Then
                temp = "1" + temp
            Else
                temp = "0" + temp
            End If
 
            x = x \ 2    
 
            If x < 1 Then Exit Do
 
        Loop
        Bin = temp
 
    End Function
End Module
donnent "10000000000000000000000000000000000000000000000000000010"
comme binaire.Etonant aussi c'est qu'en ligne 36028797018963970 et 36028797018963968 renvoient le même binaire.Donc j'aimerai savoir s'il existe un convertisseur d'entiers longs fiable et pourquoi il y a des différences entre plusieurs versions et lequel donne le bon binaire.Merci.

Salutations.