Bonsoir,
si tu sais traduire les nombres de 0 à 255 en binaire, tu n'as qu'à écrire les nombres_décimaux_supérieurs_à_255 en base 256 puis tu écris (en binaire) chaque chiffre de ton nombre_en_base_256 avec ta fonction de conversion en binaire.
la juxtaposition des transcriptions binaires (sur 8 digits) donne le résultat.
exemples :
3.627.891 s'écrit, en base 256 : (55)(91)(115)
en binaire, il s'écrira Bin(55)Bin(91)Bin(115)
soit : 00110111.01011011.01110011
999.999.999.999.999 donnerait en base 256 (j'ai pas vérifié!)
(3)(141)(126)(164)(198)(127)(255) soit en binaire
00000011.10001101.01111110.10100100.11000110.01111111.11111111
pour l'écriture en base 256 :
Function decto256(nb) As String 'c'est du VBA
If nb < 256 Then
decto256 = CStr(dec2bin(nb, 8))
Else
decto256 = decto256(Int(nb / 256)) & "." & decto256(nb - 256 * (Int(nb / 256))) 'le modulo coince si nb est trop grand
End If
End Function
Après, si tu tapes dans les grands nombres, du genre de ceux qui ne passent pas dans excel (15 chiffres significatifs), il faut travailler sur des chaines de caractères puis sur des sous-chaines, il faut recoller le tout par des décalages et des additions.
Conclusion, ça doit être plus simple en assembleur!
cordialement