Een decimaal getal omzet naar het binaire

Status
Niet open voor verdere reacties.

TrainingVB

Nieuwe gebruiker
Lid geworden
13 okt 2007
Berichten
2
De volgende uitdaging (voor mij althans).
Ik wil een decimaal getal omzetten naar binair.

Dus decimaal naar binair is :
0 0000
1 0001
2 0010

Mijn gedachte

Module Decimaal-Binair
Sub Main()

Console.Writeline()

Console.Readline()


End Sub
End Module

Mijn programma verloop, is als volgt

Decimaal Value : 1
Binair Value :0001

enz,.....

Mijn idee begint goed, maar daarna kan ik werkelijk niets vinden wat mij verder helpt.:confused:

Iemand suggesties ?
 
1. typ op google: "visual basic" "decimal to binair" en vind een stuk code
2. je kan, omdat (je weet het zelf ook wel, 2^n) "mod" gebruiken; dus
Code:
if iDecimaal \ mod <> 0 then blabla
Zoek anders op google naar de Vb- mod expressie :)
 
Ik heb je even een voorbeeld gemaakt hoe het kan. De functie Int() is belangrijk in deze functie, aangezien cint() omhoog afrondt. (waardoor je dus een andere uitkomst krijgt dan met int())

Code:
Private Sub Form_Load()
    Dim i As String
    i = dec2bin(9)
    MsgBox (i)
End Sub

Private Function dec2bin(n As Integer) As String
     Dim s As String
     s = ""
     Do While (n > 0)
         If (n Mod 2) Then s = s + "1" Else s = s + "0"
         n = Int(n / 2)
    Loop
    dec2bin = StrReverse(s)
End Function

Dit doet voor het getal 24:

24 % 2 = 0
12 % 2 = 0
6 % 2 = 0
3 % 2 = 1
1 % 2 = 1

24 is dus 11000; Mocht je cint gebruiken dan krijg je dit:

24%2 = 0
12%2 = 0
6%2 = 0
3%2 = 1 ' cint(3/2) = 2
2%2 = 0
1%2 = 1

24 zou dan dus 101000 zijn. En dat klopt niet. Ik hoop dat je iets aan bovenstaande hebt.

edit: code is voor VB6. Maar voor .NET gaat het ook op zover ik weet.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan