Decimale ou Binaire ?

Signaler
Messages postés
85
Date d'inscription
dimanche 1 avril 2001
Statut
Membre
Dernière intervention
3 août 2010
-
Messages postés
158
Date d'inscription
lundi 17 mai 2004
Statut
Membre
Dernière intervention
16 juillet 2007
-
Bonjour,
voila, je souhaiterais créer un module qui gère les grands nombres.
Seulement mon probleme est que je c'est pas si je dois faire les traitements en décimale ou en binaire.
Je m'explique :


En decimal
Chaque decimal est ajoutée dans un tableau
Ex le nombre : 12345678deviens: Number1(0) 8: Number1(1) 7: Number1(2) = 6 etc...
Voici ci-dessous un function d'addition qui renvoie un tableau avec le résultat
Function Add(Number1() As Bytes, Number2() As Bytes) As Bytes()
...
End Function


En Binaire
Chaque bit est ajouté dans un tableau
Ex le nombre : 10 codé en bit 1010deviens: Number1(0) False: Number1(1) True: Number1(2) = False: Number1(3) = True
Voici ci-dessous un function d'addition qui renvoie un tableau avec le résultat
Function Add(Number1() As Boolean, Number2() As Boolean) As Boolean()
...
End Function


D'apres vous :) Quelle est la meilleur methode qui est la plus rapide ?
D'apres moi la meilleur methode est la transformation du nombre en binaire car le CPU n'a pas besoin de coder le nombre, parceque je travail avec des boolean(s)
C'est juste une supposition :=)


Merci par avance pour vos remarques :)

5 réponses

Messages postés
158
Date d'inscription
lundi 17 mai 2004
Statut
Membre
Dernière intervention
16 juillet 2007

Juste une question : 43676676888222068965827777500021, ça donne quoi en binaire???
Messages postés
85
Date d'inscription
dimanche 1 avril 2001
Statut
Membre
Dernière intervention
3 août 2010

43676676888222068965827777500021

en binaire donne :

1000100111010001101111010001010111101110011110001110110001111101001101111111111010000010011001001101110101
Messages postés
85
Date d'inscription
dimanche 1 avril 2001
Statut
Membre
Dernière intervention
3 août 2010

10001001110100011011110100010101111011100111100011101100
01111101001101111111111010000010011001001101110101

c mieux
Messages postés
4030
Date d'inscription
mardi 13 mai 2003
Statut
Modérateur
Dernière intervention
23 décembre 2008
22
Que tu utilises le binaire ou le décimal, tu devras faire une
addition, recueillir le résultat et extraire la retenue pour
l'appliquer à l'addition suivante.

Si tu utilises le binaire, tu auras davantage de boucles à réaliser (cf
différence de longueur des nombres dans l'exemple donné ci-dessus). En
plus, tu devras, tout d'abord convertir ton décimal en binaire, et
ensuite ton binaire résultat en décimal...



tout porte à croire que d'un point de vue algorithmique, le passage par le décimal sera plus rapide.


Manu
Messages postés
158
Date d'inscription
lundi 17 mai 2004
Statut
Membre
Dernière intervention
16 juillet 2007

econs a bien vu où je voulais en venir : convertion décimal->binaire + convertion binaire->décimal = perte de temps.