- '**************************************************************
- '* Convertion Decimal/Binaire
- '*
- '* Elements utilisés:
- '* - 2 TextBox : txtNbBits, txtEntree
- '* - 3 GroupeBox : gpeBits, gpeDecimal, gpeResultat
- '* - 1 Label : lblResultat
- '* - 1 Button : btnConvertir
- '*
- '**************************************************************
-
- Public Class Form1
- Inherits System.Windows.Forms.Form
-
- #Region " Code généré par le Concepteur Windows Form "
-
- Private Sub btnConvertir_Click(ByVal sender As System.Object, _
- ByVal e As System.EventArgs) _
- Handles btnConvertir.Click
-
- 'Déclaration des variables
- Dim NbDecimal As Single
- Dim SolDivision As Single
- Dim SolModulo As Integer
- Dim i As Integer
- Dim Parite As Integer
- Dim NbDivisions As Integer
- Dim NbBits As Integer
-
- 'Efface un eventuel résultat déjà présent sur lblResultat
- lblResultat.Text = ""
-
- If Not IsNumeric(txtEntree.Text) Or txtEntree.Text = "" Then
- 'Afficher un message d'erreur si la donnée n'est pas de
- 'type numérique ou si txtEntree est vide
- MsgBox("Veuillez entrer un chiffre entier", _
- MsgBoxStyle.Exclamation)
- Else
- 'Convertion de txtEntree.text en une variable de type Integer
- NbDecimal = CType(txtEntree.Text, Integer)
- End If
-
- If Not IsNumeric(txtNbBits.Text) Or txtNbBits.Text = "" Then
- 'Afficher un message d'erreur si la donnée n'est pas de
- 'type numérique ou si txtnbBits est vide
- MsgBox("Veuillez entrer un chiffre entier", _
- MsgBoxStyle.Exclamation)
- Else
- 'Convertion de txtNbBits.text en une variable de type Integer
- NbBits = CType(txtNbBits.Text, Integer)
- End If
-
- 'Determination du nombre de divisions à effectuer
- NbDivisions = NbBits - 1
-
- For i = NbDivisions To 0 Step -1
- 'Division classique par 2
- SolDivision = NbDecimal / 2
- 'Division Modulo (Resultat entier arrondit par defaut)
- SolModulo = NbDecimal \ 2
- 'Reaffectation de la variable NbDecimal
- NbDecimal = SolModulo
-
- 'Test si SolDivision = SolModulo (Concrétement si le resultat
- 'SolDivision est entier),donc affecte la valeur "0" si le reste de
- 'la division est nul ou affecte "1" dans le cas contraire, avant
- 'le résultat précédent.
- If SolDivision = SolModulo Then
- lblResultat.Text = 0 & lblResultat.Text
- Else
- lblResultat.Text = 1 & lblResultat.Text
- End If
- Next
-
- End Sub
-
- End Class
'**************************************************************
'* Convertion Decimal/Binaire
'*
'* Elements utilisés:
'* - 2 TextBox : txtNbBits, txtEntree
'* - 3 GroupeBox : gpeBits, gpeDecimal, gpeResultat
'* - 1 Label : lblResultat
'* - 1 Button : btnConvertir
'*
'**************************************************************
Public Class Form1
Inherits System.Windows.Forms.Form
#Region " Code généré par le Concepteur Windows Form "
Private Sub btnConvertir_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles btnConvertir.Click
'Déclaration des variables
Dim NbDecimal As Single
Dim SolDivision As Single
Dim SolModulo As Integer
Dim i As Integer
Dim Parite As Integer
Dim NbDivisions As Integer
Dim NbBits As Integer
'Efface un eventuel résultat déjà présent sur lblResultat
lblResultat.Text = ""
If Not IsNumeric(txtEntree.Text) Or txtEntree.Text = "" Then
'Afficher un message d'erreur si la donnée n'est pas de
'type numérique ou si txtEntree est vide
MsgBox("Veuillez entrer un chiffre entier", _
MsgBoxStyle.Exclamation)
Else
'Convertion de txtEntree.text en une variable de type Integer
NbDecimal = CType(txtEntree.Text, Integer)
End If
If Not IsNumeric(txtNbBits.Text) Or txtNbBits.Text = "" Then
'Afficher un message d'erreur si la donnée n'est pas de
'type numérique ou si txtnbBits est vide
MsgBox("Veuillez entrer un chiffre entier", _
MsgBoxStyle.Exclamation)
Else
'Convertion de txtNbBits.text en une variable de type Integer
NbBits = CType(txtNbBits.Text, Integer)
End If
'Determination du nombre de divisions à effectuer
NbDivisions = NbBits - 1
For i = NbDivisions To 0 Step -1
'Division classique par 2
SolDivision = NbDecimal / 2
'Division Modulo (Resultat entier arrondit par defaut)
SolModulo = NbDecimal \ 2
'Reaffectation de la variable NbDecimal
NbDecimal = SolModulo
'Test si SolDivision = SolModulo (Concrétement si le resultat
'SolDivision est entier),donc affecte la valeur "0" si le reste de
'la division est nul ou affecte "1" dans le cas contraire, avant
'le résultat précédent.
If SolDivision = SolModulo Then
lblResultat.Text = 0 & lblResultat.Text
Else
lblResultat.Text = 1 & lblResultat.Text
End If
Next
End Sub
End Class