Fonction Decimal to Binary [Résolu]

Messages postés
97
Date d'inscription
mardi 19 mai 2015
Dernière intervention
7 février 2019
- - Dernière réponse : vb95
Messages postés
1823
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
23 mars 2019
- 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

2 réponses

Messages postés
14397
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
23 mars 2019
154
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
Messages postés
1823
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
23 mars 2019
63
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
Messages postés
97
Date d'inscription
mardi 19 mai 2015
Dernière intervention
7 février 2019
-
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
Messages postés
1823
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
23 mars 2019
63 > jerlo11
Messages postés
97
Date d'inscription
mardi 19 mai 2015
Dernière intervention
7 février 2019
-
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.