Fonction Decimal to Binary [Résolu]

jerlo11 91 Messages postés mardi 19 mai 2015Date d'inscription 12 octobre 2018 Dernière intervention - 12 sept. 2018 à 18:15 - Dernière réponse : vb95 1696 Messages postés samedi 11 janvier 2014Date d'inscriptionContributeurStatut 12 novembre 2018 Dernière intervention
- 13 sept. 2018 à 13:17
Bonjour à toutes et tous,

Je ne parviens pas à trouver une fonction pour convertir un nombre décimal en binaire....
J'ai essayé plusieurs chose dont celle ci :
https://www.youtube.com/watch?v=mWn4WYLUmSk

mais je n'ai toujours pas trouvé mon bonheur pour y parvenir.

Auriez-vous des éventuelles idées ?
Afficher la suite 

Votre réponse

4 réponses

NHenry 14295 Messages postés vendredi 14 mars 2003Date d'inscriptionModérateurStatut 12 novembre 2018 Dernière intervention - 12 sept. 2018 à 21:25
0
Merci
Pour la programmation, les tutoriel vidéo sont la plupart du temps inutile.

Quel est ton code que tu as essayé ?
Commenter la réponse de NHenry
vb95 1696 Messages postés samedi 11 janvier 2014Date d'inscriptionContributeurStatut 12 novembre 2018 Dernière intervention - Modifié par vb95 le 13/09/2018 à 04:20
0
Merci
Bonsoir !
L'algorithme est une suite de division entière par 2 dont on prend le reste ( 0 ou 1)
On fait les divisions jusqu'à ce que le quotient soit = à 0
Un exemple : le chiffre 11

- 11 \ 2 = 5 reste 1
- 5 \ 2 = 2 reste 1
- 2 \ 2 = 1 reste 0
- 1 \ 2 = 0 reste 1 ( fin car le quotient = 0)

En prenant les restes à l'envers on obtient 11 décimal = 1011 binaire

Reste plus qu'à coder !

Et avec Convert.ToString c'est encore plus simple : https://msdn.microsoft.com/fr-fr/library/14kwkz77(v=vs.110).aspx

jerlo11 91 Messages postés mardi 19 mai 2015Date d'inscription 12 octobre 2018 Dernière intervention - 13 sept. 2018 à 08:27
Effectivement voici sur ce que je suis partis en code et qui me convient très bien :
Dim i As Integer
i = TextBox1.Text
Label1.Text = Convert.ToString(i, 2).PadLeft(16, "0"c)
vb95 1696 Messages postés samedi 11 janvier 2014Date d'inscriptionContributeurStatut 12 novembre 2018 Dernière intervention > jerlo11 91 Messages postés mardi 19 mai 2015Date d'inscription 12 octobre 2018 Dernière intervention - 13 sept. 2018 à 13:17
bonjour !
tu es en VB Net
Or dans ton bout de code précédent i est un Integer et TextBox1 Text est une String
VB Net est assez permissif ( on fait comme on veut et on mélange les torchons avec les serviettes )
Mais il serait plus judicieux d'écrire et de faire la conversion entre Integer et String

Dim i As Integer
i = Convert.ToInt32(TextBox1.Text)
Label1.Text = Convert.ToString(i, 2).PadLeft(16, "0"c)


Si tu avais mis dans ton projet Option Explicit et Option Strict sur On ( voir Propriétés du projet -> Compiler ) Visual Studio t'aurais signaler une erreur

Option Explicit t'oblige à déclarer toutes tes variables
Option Strict t'oblige à faire toutes les conversions par code et non implicitement !

Prends l'habitude de toujours mettre ces 2 paramètres su On quel que soit ton projet : cela t'évitera de chercher pourquoi Visual Studio te met une ererur ou une alerte pour de tels cas .

A++
Commenter la réponse de vb95

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.