Archief - [PROG]VB.NET decimaal omzetten nr binair

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

tomvanhouche

Legacy Member
We moeten voor school een taak maken voor portfolio tegen donderdag.
Je geeft een getal in en dmv een button wordt dit omgezet naar binair.

De code heb ik maar er zit ergens een foutje in want bij elke omzetting zet hij er nog een 1 voor.

Dus vb. 5 = 1101 12 = 11100

Het is dus niet zo dat er groepjes van 4 gemaakt moeten worden dus 1 = 1 en niet 0001.

Iemand die me kan helpen??

Public Class Form1

Private Sub knop_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles knop.Click
Dim dec As Integer
dec = CInt(getal.Text)
binwaarde.Text = DecNaarBin(dec)
End Sub

Private Function DecNaarBin(ByVal bin)
Dim waarde As String
waarde = ""
While bin > 0
Dim rest As Integer
rest = bin Mod 2
bin /= 2

If rest > 0 Then
waarde = "1" + waarde
Else : waarde = "0" + waarde

End If

End While
waarde = CInt(waarde)
Return waarde
End Function
End Class

Darth-Falcon

Legacy Member
ik denk dat ge op het einde van de lus uw rest nog moet aftekken van bin

samme007

Legacy Member
mss da ge ier mee iets zijt:
(getallen worden altijd in 8 cijfers wel getoond)

Private Sub cmdZetom_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdZetom.Click
'alles resetten
lblBinair.Text = ""

'variabelen
Dim intdec As Integer 'decimaal getal
Dim strrest As String 'rest na deling door 2
Dim intdeel As Integer 'geheel deel na deling door 2

Dim inti As Integer 'teller voor de omkering
Dim strrestje As String 'teken per teken
Dim strresteinde As String 'eindwaarde



'invullen van de variabelen

intdec = InputBox("geef getal op")

Select Case intdec
Case 0
strresteinde = "00000000"
Case 1
strresteinde = "00000001"

Case Else

'startvariabelen, de rest = leeg en het deel gelijk stellen aan het decimaal getal
strrest = ""
intdeel = intdec

Do
'bepalen van het gehele deel
intdeel = Int(intdeel \ 2)
'strrest aanvullen door de rest na deling door 2 erbij te zetten
strrest &= CStr(intdeel Mod 2)

Loop Until intdeel = 1

'herhalen totdat het intdeel = 1
'bij een even decimaal getal plaats je een 0 anders een 1

If intdec Mod 2 > 0 Then
strrest = "1" & strrest
Else
strrest = "0" & strrest
End If


'de reeks omkeren

For inti = strrest.Length To 1 Step -1

strrestje = Microsoft.VisualBasic.Mid(strrest, inti, 1)
strresteinde &= strrestje

Next
' aantal tekens => 8
If strresteinde.Length < 8 Then
For inti = 1 To 8 - strresteinde.Length
strresteinde = "0" & strresteinde
Next
End If

End Select

lblBinair.Text = "Het getal " & intdec & " wordt " & strresteinde & " binair"

End Sub

BloodSeaker

Legacy Member
5 seconden googlen geeft me

Code:
private string ToBinary(Int64 Decimal)
{
   // Declare a few variables we're going to need
   Int64 BinaryHolder;
   char[] BinaryArray;
   string BinaryResult = "";

   while (Decimal > 0)
   {
      BinaryHolder = Decimal % 2;
      BinaryResult += BinaryHolder;
      Decimal = Decimal / 2;
   }
   // The algoritm gives us the binary number in reverse order (mirrored)
   // We store it in an array so that we can reverse it back to normal
   BinaryArray = BinaryResult.ToCharArray();
   Array.Reverse(BinaryArray);
   BinaryResult = new string(BinaryArray);

   return BinaryResult;
}

TiZon

Legacy Member
BloodSeaker zei:
5 seconden googlen geeft me

Code:
private string ToBinary(Int64 Decimal)
{
   // Declare a few variables we're going to need
   Int64 BinaryHolder;
   char[] BinaryArray;
   string BinaryResult = "";

   while (Decimal > 0)
   {
      BinaryHolder = Decimal % 2;
      BinaryResult += BinaryHolder;
      Decimal = Decimal / 2;
   }
   // The algoritm gives us the binary number in reverse order (mirrored)
   // We store it in an array so that we can reverse it back to normal
   BinaryArray = BinaryResult.ToCharArray();
   Array.Reverse(BinaryArray);
   BinaryResult = new string(BinaryArray);

   return BinaryResult;
}


vb.net ?

Pietsnot

Legacy Member
ja, das vb.net
der zit daar standaard een functie in om van decimaal nr binair om te zetten :)

Kiddy

Legacy Member
Pietsnot zei:
ja, das vb.net

De vb.net vraag kwam er omdat bovenstaande code in c#.net stond, al is het nie zo moeilijk om dat naar vb.net om te zetten.

Pietsnot

Legacy Member
aah k, wist ik niet.
et lijkt goe op vb.net, dermee dat ik et dacht :)

SideShow

Legacy Member
Als je leraar da ziet, en hij kent jouw programmeer niveau, dan weet hij redelijk rap dat je die functie hebt geript :unsure:
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan