Convertir un nombre en binaire 0 et 1

Le
Versatile
Bonjour,
Pour les pros de la programmation, comment convertir le plus
efficacement (le plus rapidement) un nombre de type LONG par exemple
(donc 32 bits) en son équivalent binaire 0011100, bref en une
succession de 0 et 1 stockés dans une chaîne de caractère ?
Il doit bien y avoir un raccourci.
Merci beaucoup pour l'info.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
JB
Le #4858981
Bonjour,

Il y a la fonction DecBin() avec la macro-comp Utilitaire/Analyse

Fonction perso: convertit base 10 en base b ( jusqu'à 32)

ºse(2;A1)

Function Base(b, n)
Do While n >= b
result = Mid("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ", IIf(n Mod b

0, (n Mod b) + 1, 1), 1) & result

n = n b
Loop
Base = Mid("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ", IIf(n Mod b > 0,
(n Mod b) + 1, 1), 1) & result
End Function

JB





On 26 sep, 11:48, Versatile
Bonjour,
Pour les pros de la programmation, comment convertir le plus
efficacement (le plus rapidement) un nombre de type LONG par exemple
(donc 32 bits) en son équivalent binaire 0011100..., bref en une
succession de 0 et 1 stockés dans une chaîne de caractère ?
Il doit bien y avoir un raccourci.
Merci beaucoup pour l'info.


Daniel.C
Le #4858961
Bonjour.
MS a mis en ligne cette fonction :

Function baseconv(InputNum, BaseNum)
Dim quotient, remainder As Single
Dim answer As String
quotient = InputNum
remainder = InputNum
answer = ""
Do While quotient <> 0
remainder = quotient Mod BaseNum
quotient = Int(quotient / BaseNum)
answer = remainder & answer
Loop
baseconv = Val(answer)
End Function

Cordialement.
Daniel
"Versatile"
Bonjour,
Pour les pros de la programmation, comment convertir le plus
efficacement (le plus rapidement) un nombre de type LONG par exemple
(donc 32 bits) en son équivalent binaire 0011100..., bref en une
succession de 0 et 1 stockés dans une chaîne de caractère ?
Il doit bien y avoir un raccourci.
Merci beaucoup pour l'info.
JB
Le #4858931
Bonjour,

Ne fonctionne que pour les entiers <32768.

JB
On 26 sep, 12:28, "Daniel.C"
Bonjour.
MS a mis en ligne cette fonction :

Function baseconv(InputNum, BaseNum)
Dim quotient, remainder As Single
Dim answer As String
quotient = InputNum
remainder = InputNum
answer = ""
Do While quotient <> 0
remainder = quotient Mod BaseNum
quotient = Int(quotient / BaseNum)
answer = remainder & answer
Loop
baseconv = Val(answer)
End Function

Cordialement.
Daniel
"Versatile"
Bonjour,
Pour les pros de la programmation, comment convertir le plus
efficacement (le plus rapidement) un nombre de type LONG par exemple
(donc 32 bits) en son équivalent binaire 0011100..., bref en une
succession de 0 et 1 stockés dans une chaîne de caractère ?
Il doit bien y avoir un raccourci.
Merci beaucoup pour l'info.


Daniel.C
Le #4858711
Bonjour.
Uniquement pour ce qui est de la base 2. On attend alors la limite des
quinze chiffres. Je pense que ta fonction réagit de la même façon, ou bien
elle fournit une chaîne texte.
Daniel
"JB"
Bonjour,

Ne fonctionne que pour les entiers <32768.

JB
On 26 sep, 12:28, "Daniel.C"
Bonjour.
MS a mis en ligne cette fonction :

Function baseconv(InputNum, BaseNum)
Dim quotient, remainder As Single
Dim answer As String
quotient = InputNum
remainder = InputNum
answer = ""
Do While quotient <> 0
remainder = quotient Mod BaseNum
quotient = Int(quotient / BaseNum)
answer = remainder & answer
Loop
baseconv = Val(answer)
End Function

Cordialement.
Daniel
"Versatile"
Bonjour,
Pour les pros de la programmation, comment convertir le plus
efficacement (le plus rapidement) un nombre de type LONG par exemple
(donc 32 bits) en son équivalent binaire 0011100..., bref en une
succession de 0 et 1 stockés dans une chaîne de caractère ?
Il doit bien y avoir un raccourci.
Merci beaucoup pour l'info.


Versatile
Le #4858491
Function baseconv(InputNum, BaseNum)
Dim quotient, remainder As Single
Dim answer As String
quotient = InputNum
remainder = InputNum
answer = ""
Do While quotient <> 0
remainder = quotient Mod BaseNum
quotient = Int(quotient / BaseNum)
answer = remainder & answer
Loop
baseconv = Val(answer)
End Function



cette fonction est assez géniale, merci beaucoup.


Publicité
Poster une réponse
Anonyme